Как выполнить “grep” только в папке, Вы находитесь в

Поэтому скажите, что я нахожусь в/home/folder1, который содержит много .txt файлов. Если я хочу использовать grep -r "xxx" ___, как я заставил бы ___ означать, что я только хочу, чтобы grep управлял для взгляда в папке, в которой я нахожусь?

1
задан 21 February 2018 в 21:29

2 ответа

Удалите -r (рекурсивный) флаг, и вместо этого использует шарик оболочки для файлов, которые Вы хотите искать:

grep 'xxx' *.txt
4
ответ дан 3 December 2019 в 06:52

Как насчет использования ./? Это явно означает "эту папку".

grep 'xxx' ./*

Это просканирует все файлы в текущей папке для всех случаев xxx в каждом файле.

И конечно если Вы хотите, чтобы все файлы в подкаталогах текущего каталога были просканированы также, затем используйте:

grep -r 'xxx' ./*

И на самом деле если Вы уже находитесь в каталоге по Вашему выбору (использование ls и pwd -P удостоверяться), затем это действительно избыточно для использования ./. Таким образом, это должно также работать таким же образом и дать Вам тот же вывод:

grep -r 'xxx' *
0
ответ дан 3 December 2019 в 06:52

Другие вопросы по тегам:

Похожие вопросы: