Existe uma maneira de dizer ao find
comando bash para exibir o que está fazendo (modo detalhado)?
Por exemplo, para o comando:
find /media/1Tb/videos -maxdepth 1 -type d -mtime +7 -exec rm -rf {} \;
to output:
Found /media/1Tb/videos/102, executing rm -rf /media/1Tb/videos/102
...
find
, por isso polegares para cimafind
amor cresceu outro só mais um pouquinho. Obrigado :)find -L . -type l -delete -print
Que tal apenas usar
rm -vf
para saída rm detalhada.fonte
rm
é legal, mas se eu substituí-lo com outra coisa que eu já não pode ver quais arquivos estão sendo trabalhadas (a menos que eu usoecho
dentro-exec
)Uma alternativa é permitir que os comandos sejam executados por
sh -x
:fonte
shell
debug
O modo ficará claro o suficiente sobre o que aconteceu. ObrigadoHá também
find -D xxxx
que poderia ajudar em alguns casos.Abaixo estão dois exemplos de
find -D search
:Usando o RHEL 6.3 (
find
v4.4):Usando Cygwin 1.7 (
find
4.5):fonte
A resposta de @ hlovdav foi suficiente para mim, mas fiz algumas modificações para meu próprio uso
Explicação
pattern
null
separado, importante se você tiver nomes de arquivos com espaços ou caracteres incomunsxargs
leituranull
separada, defina cada marcador de posição como%%
Isso também garante toda vez que ele usa apenas um argumentobash
comando, one-liner, qualquer coisa que esteja dentro, deve ser citado'
--
ou seja, qualquer coisa que eu fazer depois disso não éxargs
oubash
opções, mas parâmetros de posição para o meu script one-linerbash
script, você pode acessar%%
como$1
argumento posicional nº 1Nota: você pode alterar
%%
com qualquer coisa, apenas certifique-se de não precisar usá-lo para outra coisa senão um espaço reservado. Usando dólar$
ou@
pode não ser bom, a menos que seja o dobro@
como@@
.fonte