Я могу искать файлы с rexexp, который подобран против всего файла? Скажем, то, что у меня есть эти файлы:
//file1
foo
bar
//file2
bar
foo
Я хочу найти файлы тем концом с "нечто". Если я использую grep
и regex foo$
это будет соответствовать обоим файлам, так как у них обоих есть строки, заканчивающиеся "нечто". Но я только хочу соответствовать второму, так как это - единственный случай, где весь файл заканчивается "нечто".
Вы могли использовать комбинацию tail
и grep
, например,
find . -type f -exec sh -c 'tail -n1 "$1" | grep -q "foo"' sh {} \; -print
В жемчуге опция 0
может быть использованием для обработки файла как единственной записи.
Этот путь попытка:
perl -n0E 'say $ARGV if /foo\s*$/' file*
\s*
полезно, чтобы справиться с новыми строками и подобный, обычно представлять в конце файла.
Другая подобная альтернатива (gnugrep)
grep -lzP 'foo\Z' file*