Saída de comandos em execução no Terminal

3

Eu uso esta linha para deletar arquivos

find . -type f -iname \*.vi -delete

e esta linha para mover arquivos

find . -name "*.doc" -exec mv {} /path

Como posso ver o processo quando isso acontece? Quer dizer, não vejo nenhuma saída e isso só é exibido quando o processo é concluído.

    
por Mohammad Alzorgan 07.02.2016 / 08:26

2 respostas

2

Você não pode ativar o detalhamento nativamente em find .

Você precisa usar rm -v com find da ação -exec , em vez da ação find -delete :

find . -type f -iname \*.vi -exec rm -v {} +

No segundo caso, use mv -v :

find . -name "*.doc" -exec mv -v {} /path \;

Ou melhor:

find . -name "*.doc" -exec mv -vt /path {} +

Em ambos os casos, -v informa rm / mv a ficar verboso para dizer o que está sendo feito.

    
por heemayl 07.02.2016 / 08:32
1

Outra maneira é informar find a print do nome do arquivo antes de executar outra ação:

$ find . -maxdepth 2 -iname 'foo.txt'
./foo.txt
$ find . -maxdepth 2 -iname 'foo.txt' -print -delete
./foo.txt
$ ll ./foo.txt
ls: cannot access ./foo.txt: No such file or directory
    
por muru 07.02.2016 / 09:17