Как поместить переменную в команду grep для поиска? - PullRequest
0 голосов
/ 17 апреля 2019

Я пытаюсь grep для слова в каталоге - но я хочу проверить номера 1-9 в слове.

Это простой grep:

grep -r L01auxillar /pr/solder/

Я хочу, чтобы команда grep искала: grep -r L0[1-9]auxillar /pr/solder/

Ответы [ 3 ]

1 голос
/ 17 апреля 2019

Если вы не хотите использовать регулярные выражения в grep, вы можете выполнить расширение числа в оболочке:

grep -r --regexp=L0{1..9}auxillar /pr/solder/
0 голосов
/ 17 апреля 2019

Вы можете использовать подстановочный знак для одного символа.

grep -rn '/home/user/temp' -e '\<asd.f\>'
# use operator w if you want to catch whole words
grep -rnw '/home/user/temp' -e '\<asd.f\>'

Output:
/home/user/temp/test:1:asd4f
/home/user/temp/test:2:asd5f

Но это также даст совпадения с другими символами (например, asd0f или asdgf).

0 голосов
/ 17 апреля 2019

Просто введите -E для расширенного регулярного выражения:

grep -rE '(L0[1-9]auxillar)' /pr/solder/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...