Adicionando -prune e -name ao comando find no AIX e Linux

0

Eu tenho que criar um comando find para encontrar certos arquivos em um diretório. O diretório possui sub-diretórios e links-sym para outros diretórios. Se eu usar o seguinte comando find, ele ignorará os sym-links:

find $dir/ -name '*.out' -size 0 -mtime +0 

Seguem os links sym:

find -L $dir/ -name '*.out' -size 0 -mtime +0 2

Estou tentando descobrir uma maneira de usar -prune e -name flags adicionais para omitir determinados elementos do diretório. Eu preciso de algo que funcione no Linux e no AIX.

Alguns comandos que experimentei:

find -L . ( -name dest ) -prune -o -name "*.out"
find -L $dir -name *.out ( ! -name "dest" -prune )
    
por Jay 14.09.2017 / 16:01

1 resposta

1

Sem uma "ação" (como -print ), find imprimirá cada arquivo visitado. Esse comportamento é porque find -L . ( -name dest ) -prune -o -name "*.out" ainda mostra os arquivos que você está removendo. find precisa visitar o arquivo antes de avaliar as condições fornecidas por você.

Adicionar a ação -print ao final do seu comando find deve funcionar.

find -L . -name dest -prune -o -name "*.out" -print
    
por 14.09.2017 / 16:41

Tags