Я пытаюсь создать файл со всеми строками из входного файла, содержащего определенную строку, используя команду FINDSTR
в cmd.exe
. Моя команда ниже не дает никаких результатов, тогда как команда FIND
(также ниже) показывает, что есть 182 688 строк, содержащих строку, которую я ищу...
Команда НАЙТИ:
FIND /c "searchstring" c:\Users\karl\Desktop\Report.csv
дает следующее:
---------- C:\USERS\KARL\DESKTOP\REPORT.CSV: 182688
Команда FINDSTR:
findstr /i /c:"searchstring" c:\Users\karl\Desktop\Report.csv > results.out
дает мне пустой файл с именем results.out.
Что мне не хватает?
searchstring
? Наиболее вероятным виновником, как я вижу сейчас, является то, что поведение вашей строки поиска отличается от того, что вы намеревались использовать в своей командеfindstr
; что то, что вы подразумеваете как буквальную строку, интерпретируется как нотация регулярного выражения с непреднамеренным особым значением. - person rojo   schedule 07.03.2013/c
по умолчанию использует буквальный поиск, если не добавлена опция/r
. - person dbenham   schedule 08.03.2013findstr /i /c:"*abcd*"
будет искать литерал (звездочка) abcd (звездочка), а не строку, содержащуюabcd
? Это проясняет некоторую давнюю путаницу. До сих пор я просто избегал использования пробелов в своих выражениях, поэтому мне не приходилось использовать переключатель/c
сfindstr
. Хм. - person rojo   schedule 08.03.2013