Este comando lista todos os arquivos que correspondem ao nome fornecido:
find . -iname .DS_Store
Mas quando uso -delete
o parâmetro com ele, não consigo ver a lista de arquivos excluídos. Eles apenas são excluídos.
De preferência sem complicar com | xarg ..
ou -exec rm {}
, existe algum sinalizador mágico para ver os arquivos apagados ao usar find . -iname .DS_Store -delete
?
PS: Eu sei que posso executar o comando sem o sinalizador de exclusão antes, mas estou procurando algo como print0
(embora imprima feio) para fazer o trabalho.
Basta adicionar
-print
ao final do comando:Isso produziria os nomes de caminho dos arquivos encontrados.
Se isso estiver em um sistema macOS (ou em qualquer um dos sistemas BSD), usando a implementação padrão de
find
lá, o-delete
predicado sempre retornará true , o que significa que-print
também sempre entrará em vigor. Isso significa que o comando acima imprimiria todos os nomes de caminho encontrados, independentemente de terem sido excluídos com êxito ou não. O-delete
predicado no GNUfind
retornaria false se o nome não pudesse ser excluído.Se você estiver em um sistema macOS ou BSD, e se isso for importante para você, use
em vez de. Aqui, o
rm
retornaria um status de saída diferente de zero se não removesse o nome fornecido, e isso, por sua vez, significa que o-print
não entraria em vigor para esse nome de caminho. Eu também adicionei! -type d
uma vez querm
exclui apenas não-diretórios (quando não estiver usandorm -r
).