2015-05-01 5 views
1

У меня есть два файла:Findstr отображает совпадения в одной строке

1.txt:

abc 
def 

2.txt:

abc 

Пожалуйста, обратите внимание, что 2.txt содержит только 3 символов , нет пустых строк. Теперь, если я:

findstr /S /I /L /A:02 "abc" * 

Я получаю этот результат:

1.txt:abc 
2.txt:abc 

Что я ожидаю. Однако после переименования 1.txt в uno.txt и 2.txt к duo.txt (тем самым изменяя файл порядок поиска) и выполнив ту же команду я получаю это:

duo.txt:abcuno.txt:abc 

Результат находится в одной строке, и я ожидал две линии по-прежнему. Конечно, если я добавлю новую строку в конец duo.txt, тогда вывод будет одобрен, но как это сделать без изменения файлов? Есть ли в findstr какой-то параметр «force result in new line»?

+0

Там нет возможности делать то, что вы ищете. Можете ли вы объяснить немного больше того, что вы хотите сделать с результатами? Возможно, есть еще один способ добиться этого. – aphoria

+0

У меня пока нет специальной утилиты. Я просто хотел передать результаты другим функциям, таким как grep, но поскольку findstr не работает, как я ожидал, я думаю, что мне придется использовать, например. awk, чтобы он работал так, как я хочу. В любом случае спасибо за ответ. – user1723095

ответ

2

Вы можете попробовать использовать цикл FOR, чтобы просмотреть файлы и передать содержимое каждого из них в FINDSTR.

Что-то вроде этого:

@ECHO OFF 

FOR /R %%f IN (*.txt) DO (
    TYPE %%f | FINDSTR /S /I /L "abc" 
) 
+0

Я приму этот ответ, потому что он дает «способ» делать то, что я хотел, но это не так. Например, он не добавляет цветное имя файла перед матчами. В любом случае спасибо – user1723095

+0

Спасибо, что приняли мой ответ. Это определенно похоже на ошибку в «FINDSTR». Проверьте [Какие недокументированные функции и ограничения команды Windows FINDSTR?] (Http://stackoverflow.com/questions/8844868/what-are-the-undocumented-features-and-limitations-of-the-windows- findstr-comman) для тщательной документации проблем FINDSTR и обходных решений. – aphoria

 Смежные вопросы

  • Нет связанных вопросов^_^