0 / 0 / 0
Регистрация: 10.02.2015
Сообщений: 108
|
||||||
1 | ||||||
Удаление строк после определенного символа13.10.2017, 19:05. Показов 6934. Ответов 21
Метки нет (Все метки)
Здравствуйте форумчане.
Интересует вопрос. Как удалить продолжение строки после определенного символа. Имеем текстовый файл cbs_details.txt В этом файле есть строки примерно следующего формата: "\??\C:\Windows\System32"\[l:24{12}]"icardagt.exe"; source file in store is also corrupted "\??\C:\Windows\System32"\[l:24{12}]"ideograf.uce"; source file in store is also corrupted "\??\C:\Windows\system32\drivers\en-US"\[l:28{14}]"usbhub.sys.mui" from store "\??\C:\Windows\system32\drivers\ru-RU"\[l:28{14}]"usbhub.sys.mui" from store "IMPlugin.dll" of Microsoft-Windows-Networking-Internet_Authentication_Service_MigPlugin, Version = 6.1.7600.16385, pA = PROCESSOR_ARCHITECTURE_AMD64 (9), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral in the store, hash mismatch нужно чтобы после обработки осталось "\??\C:\Windows\System32"\[l:24{12}]"icardagt.exe" "\??\C:\Windows\System32"\[l:24{12}]"ideograf.uce" "\??\C:\Windows\system32\drivers\en-US"\[l:28{14}]"usbhub.sys.mui" "\??\C:\Windows\system32\drivers\ru-RU"\[l:28{14}]"usbhub.sys.mui" "IMPlugin.dll" Удалить все что идет после ",,,,,,,," Добавлено через 26 минут Разобрался, сделал так:
0
|
13.10.2017, 19:05 | |
Ответы с готовыми решениями:
21
Удаление символов в строках, до определенного символа Копирование строк текста , начинающихся с определенного символа Удаление файлов определенного типа из определенного каталога Удаление каталогов с определенного размера |
5982 / 1991 / 323
Регистрация: 10.12.2013
Сообщений: 6,861
|
||||||
13.10.2017, 19:09 | 2 | |||||
в среде powershell:
0
|
0 / 0 / 0
Регистрация: 10.02.2015
Сообщений: 108
|
|
13.10.2017, 20:55 [ТС] | 3 |
Но мне нужно что бы результат оставался в этом же файле, а не в другом.
Интересует CMD/BAT Добавлено через 1 час 37 минут Вопрос решил, сделал так: Код
set file=%userprofile%\Desktop\cbs_details.txt for /f "tokens=1,2 delims=; " %%i in (%file%) do (echo %%i >> "%~dpn0.tmp") copy /y "%~dpn0.tmp" "%file%"&& del "%~dpn0.tmp" endlocal
0
|
0 / 0 / 0
Регистрация: 11.07.2021
Сообщений: 13
|
|
11.07.2021, 14:28 | 4 |
Подскажите пожалуйста, как прописать команду которая удалит в каждой строке текстового файла все после символа *
--- Прочитал кучу веток тут на форуме, не получается. Нужно именно в батнике (это одна из списка команд по обработке текстовика). Как в notepad++ сделать регуляркой знаю, но он там виснет. Файлы большие сотни тысяч строк.
0
|
3048 / 1055 / 475
Регистрация: 29.05.2016
Сообщений: 4,438
|
||||||
11.07.2021, 14:54 | 5 | |||||
Ferton, пробуйте:
1) Для работы приложения нужна утилита sed (во вложении). Рекомендую закинуть в C:\windows\system32 2) Вместо test.txt указываете имя файла (полный путь к нему), который требуется обработать
1
|
3048 / 1055 / 475
Регистрация: 29.05.2016
Сообщений: 4,438
|
|
11.07.2021, 14:56 | 6 |
Утилита sed
0
|
3048 / 1055 / 475
Регистрация: 29.05.2016
Сообщений: 4,438
|
||||||
11.07.2021, 15:26 | 7 | |||||
Даже лучше так (на случай, если символ * присутствует в строке более одного раза. В этом случае после первого символа * удалится остальная часть строки):
1
|
0 / 0 / 0
Регистрация: 11.07.2021
Сообщений: 13
|
|
11.07.2021, 15:29 | 8 |
Спасибо за ответ.
Скажите, а почему не работает например при удаление после символа : И как удалить и само двоеточие. К примеру, есть текстовой файл с почтами в формате: dereksm.co.uk@web.de:gdkrk&yrd,_dlssk monster.co.uk@ralf-gehrig.de:krk&yr-sedefe33.. yahoo.co.ukremer@t-online.de:t85Hfrk&yrdsz2dni, vlafref4 Нужно удалить все что после двоеточия, включая и его само. Этот код не срабатывает при запуск батника, не удаляется ничего. Код
@echo off @sed -i "s/\(.:\:\)\(.:\)/\1/" file.txt
0
|
3048 / 1055 / 475
Регистрация: 29.05.2016
Сообщений: 4,438
|
||||||
11.07.2021, 15:32 | 9 | |||||
Про "включая" только сейчас озвучили условие. Пробуйте:
1
|
0 / 0 / 0
Регистрация: 11.07.2021
Сообщений: 13
|
|
11.07.2021, 15:40 | 10 |
Ура, все работает. Спасибо вам большое!
Со вчера пытался разные варианты пробовать, но такого красивого еще не было ) Работает как же шустро батник, быстрее других программ
0
|
3048 / 1055 / 475
Регистрация: 29.05.2016
Сообщений: 4,438
|
|
11.07.2021, 15:40 | 11 |
Ferton, не за что
0
|
0 / 0 / 0
Регистрация: 11.07.2021
Сообщений: 13
|
|
11.07.2021, 16:13 | 12 |
Karen87, подскажите пожалуйста, а как удалить дубли строк в текстовом файле?
Например в итоге получился файл rezult.txt , как удалить из него полные дубли строк?
0
|
3048 / 1055 / 475
Регистрация: 29.05.2016
Сообщений: 4,438
|
|
11.07.2021, 16:27 | 13 |
Ferton, то если строка повторяется более одного раза, то нужно оставить ее в единичном экземпляре, а все остальные повторы удалить? Или вообще удалить все строки, которые повторяются более одного раза?
0
|
0 / 0 / 0
Регистрация: 11.07.2021
Сообщений: 13
|
|
11.07.2021, 16:34 | 14 |
Оставить одну, остальные (дубли) удалить.
0
|
3048 / 1055 / 475
Регистрация: 29.05.2016
Сообщений: 4,438
|
||||||
11.07.2021, 17:26 | 15 | |||||
Попробуйте пока так:
Для работы скрипта требуется утилита awk (во вложении установщик). После установки в скрипте awk измените на полный путь к исполняемому файлу
0
|
3048 / 1055 / 475
Регистрация: 29.05.2016
Сообщений: 4,438
|
|
11.07.2021, 17:26 | 16 |
awk
0
|
3048 / 1055 / 475
Регистрация: 29.05.2016
Сообщений: 4,438
|
||||||
11.07.2021, 17:54 | 17 | |||||
Если с помощью sed, то нужна версия во вложении. Тогда код будет таким:
1
|
3048 / 1055 / 475
Регистрация: 29.05.2016
Сообщений: 4,438
|
|
11.07.2021, 17:55 | 18 |
Sed
0
|
0 / 0 / 0
Регистрация: 11.07.2021
Сообщений: 13
|
|
11.07.2021, 18:22 | 19 |
Не совсем такой результат: он сейчас пишет в новый файл те дубли, что нашел. Возможно я неточно объяснил.
Есть текстовой файл, в нем содержатся дубли строк(email адреса) в разных местах, не подряд. Нужно удалить все дубли из списка- в итоге нужет текстовик в котором нет дублей адресов.
0
|
3048 / 1055 / 475
Регистрация: 29.05.2016
Сообщений: 4,438
|
|
11.07.2021, 18:27 | 20 |
Ferton, именно это сейчас скрипт и делает. Покажите пример исходного файла и файла с корректным результатом (достаточно нескольких строк)
0
|
11.07.2021, 18:27 | |
11.07.2021, 18:27 | |
Помогаю со студенческими работами здесь
20
Удаление данных после определенного символа Поиск определенного слова и удаление строк после него Как читать строку в массив до определенного символа и после продолжить чтение опять до символа Удаление определенного символа из строки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |