Так скажите, что я в / home / folder1, который содержит много файлов .txt. Если я хочу использовать grep -r "xxx" ___, как я могу сделать ___ означающим, что я хочу, чтобы grep командовал поиском в папке, в которой я находился?
Как насчет использования ./? Это явно означает «эту папку».
grep 'xxx' ./*
Это сканирует все файлы в этой папке для всех вхождений xxx внутри каждого файла.
И, конечно, если вы хотите, чтобы все файлы в подкаталогах текущего каталога также были отсканированы, используйте:
grep -r 'xxx' ./*
И на самом деле, если вы уже находитесь в каталог по вашему выбору (используйте ls и pwd -P, чтобы убедиться), то это действительно избыточно использовать ./. Таким образом, это также должно работать одинаково и дать вам тот же результат:
grep -r 'xxx' *
Удалите флаг -r (рекурсивный) и вместо этого используйте glob оболочки для файлов, которые вы хотите найти:
grep 'xxx' *.txt
Как насчет использования ./? Это явно означает «эту папку».
grep 'xxx' ./*
Это сканирует все файлы в этой папке для всех вхождений xxx внутри каждого файла.
И, конечно, если вы хотите, чтобы все файлы в подкаталогах текущего каталога также были отсканированы, используйте:
grep -r 'xxx' ./*
И на самом деле, если вы уже находитесь в каталог по вашему выбору (используйте ls и pwd -P, чтобы убедиться), то это действительно избыточно использовать ./. Таким образом, это также должно работать одинаково и дать вам тот же результат:
grep -r 'xxx' *
Удалите флаг -r (рекурсивный) и вместо этого используйте glob оболочки для файлов, которые вы хотите найти:
grep 'xxx' *.txt