Поиск вкладок, без -P, используя 'grep' - PullRequest
10 голосов
/ 12 февраля 2011

Раньше я успешно использовал grep -P, пока не получил машину, на которой grep не компилируется с поддержкой регулярных выражений Perl.Теперь у меня возникают проблемы при сопоставлении вкладок: \t символ,

grep -G '\t' matches a literal 't'
grep -E '\t' matches a literal 't'

Как мне сопоставить вкладки?

Ответы [ 2 ]

14 голосов
/ 12 февраля 2011

Попробуйте вместо этого:

grep -G $'\t'

Подробнее см. ошибка # 23535: Grep не поддерживает \ t как символ табуляции .

1 голос
/ 15 апреля 2013

Perl-RegEx понимает '[\ t]', поэтому вы можете сделать так:

echo -e "\t : words" | grep -P '^[\t]'

basic-regexp и extended-regexp нуждаются в этих "пробелах" (RegEx для "Пробел" / "Tab"):

echo -e "\t : words" | grep -G '^[[:blank:]]'
echo -e "\t : words" | grep -E '^[[:blank:]]'

может быть, вы можете использовать это так:

echo -e "\t : words" | grep -E '^[[:blank:]]{2,8}'
echo -e "\t : words" | grep -G '^[[:blank:]]\{2,8\}'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...