Como usar o find com script já escrito?

0

Eu sei como encontrar os arquivos modificados pela última vez, mas como usá-lo com o meu script já escrito? Na pasta eu tenho centenas de arquivos xyz_<yyyymm> , agora eu uso $ find /home/directory/TEST/ -type f -mmin -60 , mas ele cai no meio do caminho.

    
por Much to learn 18.11.2016 / 16:55

2 respostas

1

Se você quiser executar um script para cada resultado de um comando find, poderá usar xargs , mas geralmente prefiro usar -exec com find. Então você poderia fazer como:

find /home/directory/TEST/ -type f -mmin -60 -exec /path/to/your/script {} \;

e o nome do arquivo que find corresponde será colocado no {} spot para cada correspondência

    
por 18.11.2016 / 17:22
0

Se o que você está tentando fazer é usar find para iterar em vários arquivos e depois passar cada nome de arquivo para um script, você pode usar xargs , especialmente se a lista de arquivos for muito grande e você encontrar coisas quebrando parte do caminho.

Aqui, faço uma iteração no diretório de trabalho atual procurando por todos os arquivos e, em seguida, passo cada nome de arquivo em um script perl que simplesmente imprime o nome:

find . -type f | xargs -0 ./script.pl

Você pode ajustar sua string de comando find para atender às suas necessidades.

    
por 18.11.2016 / 17:13