grep рекурсивно шукати виникнення слова в певному файлі


3

Я знаю

grep -rin 'text' /path/to/direcotry

Але я не хочу шукати у всіх файлах. Мені просто потрібно перевірити появу тексту у всіх файлах з назвою wscript. Як це можна зробити?

Відповіді:


4

man grep:

   --include=GLOB
          Search  only  files whose base name matches GLOB (using wildcard
          matching as described under --exclude).

тому спробуйте це:

grep -rin --include=wscript 'text' /path/to/files 

2
 grep -rin 'text' `find /path/to/directory -name wscript`

1
людина не працювала.
Vihaan Verma

Зверніть увагу, що лапки навколо команди find є заднім числом, а не звичайними цитатами.
Isaac Rabinovitch

1
Назад важко читати, я пропоную використовувати $() замість цього. Я також рекомендую не використовувати заміну команд для розбору знаходжень виводу, він, ймовірно, зламається. Більш безпечною альтернативою було б до нього xargs у форматі, розділеному нулем.
slhck

Я повернув це назад до моєї версії. Версія @slhck прекрасна, але вона абсолютно інша, і належить до власної відповіді.
Isaac Rabinovitch

Зверніть увагу, що відповідь @ Serge краще, ніж моя. Я навіть перевернув її!
Isaac Rabinovitch

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.