find . ! -name . -prune -type f -exec cat {} + |
grep mystring |
LC_ALL=C sort -u
Или:
find . ! -name . -prune -type f -exec cat {} + | awk '
/mystring/ && !seen[$0]++'
С помощью GNU grep
:
LC_ALL=C grep -hr --exclude-dir='?*' mystring | LC_ALL=C sort -u
Или с zsh
и GNU grep
:
grep -h mystring ./*(D.) | LC_ALL=C sort -u
Также рекурсивный поиск в файлах в подкаталогах:
find . -type f -exec cat {} + |
grep mystring |
LC_ALL=C sort -u
Или:
find . -type f -exec cat {} + | awk '
/mystring/ && !seen[$0]++'
С GNU grep
:
grep -hr mystring | LC_ALL=C sort -u
Обратите внимание, что все эти решения также выглядят внутри скрытых файлов (и файлов внутри скрытых каталогов), но не в нестандартных файлах и не будет следовать символическим ссылкам (если вы не используете старую версию GNU grep
с -r
) .