echo a.txt| FINDSTR /R ".+\.txt$"
не работает и даже не:
echo a.txt| FINDSTR /R .+\.txt$
Почему?
Редактировать:
В настоящее время работает!
echo a.txt| FINDSTR /R ..*\.txt$
echo a.txt| FINDSTR /R ".+\.txt$"
не работает и даже не:
echo a.txt| FINDSTR /R .+\.txt$
Почему?
Редактировать:
В настоящее время работает!
echo a.txt| FINDSTR /R ..*\.txt$
а) В регулярном выражении Findstr нет +
. Вместо этого используйте *
. ..*
должен быть правильной заменой для .+
.
б) Перед концом строки может стоять невидимый символ, например вызвано echo
, если перед |
есть конечный пробел. Добавьте еще .
перед концом строки, чтобы скрыть это.
C:\> echo a.txt | findstr /r ".*\.txt.$"
a.txt
Также можно без кавычек.
a.txt
и |
, который также выводится echo
и поэтому перенаправляется на обработку STDIN команды findstr
. При использовании echo a.txt| findstr /R ".*\.txt$"
все как и ожидалось. См., Например, мой ответ на Почему команда ECHO выводит дополнительное конечное пространство в файл? для получения дополнительной информации.
- person Mofi; 06.12.2018
+
на *
изменяет поведение; вместо этого замените .+
на ..*
, чтобы добиться того же результата ...
- person aschipfl; 06.12.2018
FindStr /?
, затем прочтите информацию об использовании! - person Compo   schedule 06.12.2018FINDSTR
. - person Squashman   schedule 06.12.2018