Проблема при использовании findstr

Я пытаюсь выполнить следующий шаблон в findstr. Findstr жалуется, что

)]%%)

неожиданно в это время.

Я прошел следующее утверждение

findstr% EndPageSetup (. +) (%% [((LastPage) | (Page: \ d +))]%%) g: \ files \ WDDEF07.tmp

WDDE07.tmp - это постскриптный файл.

файл, который я использовал, https://rapidshare.com/files/2509921619/WDDEF07.tmp

Пожалуйста, помогите мне решить эту ошибку.

1 ответ

Решение

Если вы запускаете это из командной строки или командного файла, командная оболочка интерпретирует | как канал, а не чередование, как мы привыкли к регулярным выражениям. В командной оболочке | означает взять стандартный вывод предыдущей команды и передать его в стандартный ввод следующей команды, например так:

C:\>dir |find ".txt"

Я не нашел ссылки на изменения в документации. Если вы можете найти способ делать то, что вы хотите без изменений, вы можете попробовать findstr /G:file опция (где файл содержит регулярное выражение). Таким образом, вам не придется сражаться со специальными персонажами командной оболочки.

Другие вопросы по тегам