Вот несколько идей и cmds для поиска.
(Ваше описание проблемы мне не ясно, поэтому я даю вам то, что кажется наиболее вероятным решением, которое вы просите) ..
Учитывая тестовый файл
echo "a
b
c
d" > /tmp/testFile.txt
вы можете поиск «слова» (или символ) в этом файле с
grep d /tmp/testFile.txt ; echo $?
который будет возвращать
d
0
0
указывает успешно выполненный cmd, тогда как 1
(или другое ненулевое значение) указывает на возникшую ошибку.
Теперь добавьте опцию -l
в grep
, который говорит «список» файлы, которые отвечают требованиям опций, поставляемых:
grep -l e /tmp/testFile.txt ; echo $?
возвращается только
1
Поскольку e
не был найден в файл, это имя не было напечатано.
В отличие от поиска строки, которая действительно существует в файле выглядит
grep -l d /tmp/testFile.txt ; echo $?
/tmp/testFile.txt
0
с указанием цели поиска был найден.
Теперь вам нужен способ, чтобы получить список всех файлов для поиска по Grep,
cd /path/to/starting/dir/to/search # you know what to put here, right?
find . -name '*.txt'
будет производить список всех .txt
файлов в текущем каталоге и во всех подкаталогах текущий каталог.
Наконец, вы можете подать список .txt
файлов в цикле, который может проверить, если ваша целевая строка существует или нет
srchStr="e"
cd /path/to/starting/dir/to/search # you know what to put here, right?
find . -name '*.txt' \
| while read file ; do
if ! grep -q "$srchStr" "$file" ; then
echo "no $srchStr in $file"
fi
done
Конечно, это не будет соответствовать вашим потребностям. Но, пожалуйста, напишите новый Q с некоторым кодом, и другие могут помочь вам. Я не могу тратить больше времени на это (в ближайшее время). Ищите учебники по unix find
, что является ключом к перечислению всех файлов, поэтому вы можете искать их через grep.
IHTH
*** Пожалуйста *** прочитать http://stackoverflow.com/help/how-to-ask http://stackoverflow.com/help/dont-ask и HTTP: // StackOverflow .com/help/mcve, прежде чем отправлять больше вопросов здесь. Удачи. – shellter
Может кто-то PLS поделиться взглядами на этот, я был застрял здесь, спасибо! – Rhea