Você pode usar a opção grep
do -f
, que permite pesquisar uma lista de padrões armazenados em um arquivo:
# find "$dir" -type f | grep -f ext_patterns.txt
Aqui, o arquivo ext_patterns.txt
deve conter extensões como regex, como:
\.html$
\.java$
\.jpg$
Você pode criar esse arquivo da mesma maneira que cria sua linha de base. Aqui está um comando usando awk
:
find -type f -name "*.*" \
| awk -F. '{ print "\." $NF "$" }' \
| sort -u \
> ext_patterns.txt
Aqui find
nomes de arquivos com uma extensão; awk
imprime a extensão junto com um ponto inicial (com escape) e um final $
(código regex significando "fim de linha"); e sort -u
torna cada padrão único.