Проблема
Иногда, когда я запускаю инструмент grep
рекурсивно, он застревает в некоторых больших каталогах или в больших файлах, и я хотел бы видеть каталог или имя файла, потому что, возможно, я могупонимаю, что мне не нужно сканировать этот конкретный каталог / файл в следующий раз, когда я использую grep
для аналогичной цели, поэтому исключая его с соответствующими параметрами grep
.
Есть ли способ сообщить grepкаталог / файл текущего пути, который сканируется в таких поисках?
Мои попытки
Я пытался найти здесь, но что-то найти невозможно, так как обычно ключевые слова current directory
используются для другихпричины, поэтому существует противоречивая терминология.
Я также пробовал такие вещи, как:
man grep | grep -i current
man grep | grep -i status
(и многие другие) до сих пор безуспешно.
РЕДАКТИРОВАТЬ: Iтолько что нашел полезный ответ здесь , который предназначен для другой проблемы, но я думаю, что это может сработать, если я изменю следующий код, добавив команду echo
где-то вв цикле for
, хотя я также только что понял, что для этого требуется bash 4, и, к сожалению, у меня есть bash 3.
# Requires bash 4 and Gnu grep
shopt -s globstar
files=(**)
total=${#files[@]}
for ((i=0; i<total; i+=100)); do
echo $i/$total >>/dev/stderr
grep -d skip -e "$pattern" "${files[@]:i:100}" >>results.txt
done