grep найти строки, содержащие "\ t" - PullRequest
5 голосов
/ 31 марта 2012

Мне было предложено создать сценарий оболочки для проверки простых ошибок в файлах.Я хотел найти для каждой строки, если

(regex :) "[] \ t" когда-либо происходит.

Проблема в том, что grep игнорирует \ и принимает "t" какбуквальный.Я также попытался записать сами символы в файл и попросить grep прочитать его, но это не сработало.Есть ли способ найти регулярное выражение "\ t" в файлах, используя любой из обычных инструментов linux (например, grep)?

Я уже пробовал:

grep -E --ignore-case --line-number --with-filename --file="b" file

(b содержит:"") а также:

grep -E --ignore-case --line-number --with-filename --regexp=" [\t]" file

Ответы [ 2 ]

12 голосов
/ 31 марта 2012

Вы можете использовать строку в стиле C $'...'

grep $'\t' file.txt

Или sed:

sed -n '/\t/p' file.txt
3 голосов
/ 31 марта 2012

Вы можете использовать регулярные выражения Perl с опцией --perl-regex, например

 grep --perl-regex "\t"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...