У меня есть файл с выводом ниже.

---------- PFIZ_EXT_SEAGRCLMHISD_20141013_1.TXT: 165428

---------- PFIZ_EXT_SEBMODCHKIND_20141013_1.TXT: 0

---------- PFIZ_EXT_SECNSLDND_20141013_1.TXT: 13

---------- PFIZ_EXT_SECNSMRD_20141013_1.TXT: 15788

---------- PFIZ_EXT_SECNSNTD_20141013_1.TXT: 291825

---------- PFIZ_EXT_SECPGNPRD_20141013_1.TXT: 24129

---------- PFIZ_EXT_SEFFLD_20141013_1.TXT: 219599

---------- PFIZ_EXT_SESVYRSPD_20141013_1.TXT: 123284

Не могли бы вы помочь мне удалить новую строку в начале и '-' из этого файла?

2 ответа2

1

Ну вот

for /f "tokens=2,3" %a in (file.txt) do @echo %a%b >> file2.txt

он удалит часть - и пробел между именем файла и номером, а затем запишет вывод в другой файл

пс:

Я полагаю, это был результат find , а?

0

Я уже ответил на это в вашем предыдущем вопросе.

Ссылка НАЙТИ Поиск текстовой строки в файле и отображение всех строк, где она найдена.

find /v /c "" *.* > result.txt

Как это устроено

  • /v инвертирует поиск (поэтому, когда мы ничего не ищем, мы находим все строки)
  • /c считает совпадения
  • "" ничего не соответствует
  • *.* поиск по всем файлам
  • > result.txt перенаправить вывод

Ограничения

  • предполагает нормальный разделитель окон конца строки \r\n
  • Хотя FIND может использоваться для сканирования больших файлов, он не обнаружит строку, расположенную более чем в 1070 символах вдоль одной строки (без возврата каретки \r). Это делает его ограниченным для поиска в двоичных или XML-типах файлов.

Чтобы удалить дополнительные - и пустые строки, мы можем заключить указанную выше команду в конструкцию for следующим образом:

for /f "usebackq tokens=2-3" %a in (`find /v /c "" *.*`) do echo %a %b >> result.txt

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .