Estou tentando zerar (truncar) todos os arquivos em uma pasta ou subárvore que correspondem a um curinga. Outro post recomendou o uso do find … -exec
método over , que recebeu críticas elevadas. Quando tentei o método, no entanto, não consegui fazê-lo funcionar em arquivos com espaços em seus nomes.for variable in wildcard
find … -exec
Dois métodos tentados:
for
método (obras):
for x in *.wav; do echo -n "" > "$x"; done
find
método (precisa de ajuda):
find . -type f -iname \*.wav -exec > "{}" \;
que produz
find: invalid argument `;' to `-exec'
e cria um arquivo chamado {}
de zero bytes.
Observe que a substituição > "{}"
por echo {}
imprime a lista de arquivos na pasta, portanto a sintaxe está próxima. Só preciso descobrir como atenuar o erro com nomes de arquivos espaçados.
-exec > {}
não funciona, nunca , ponto final. Isso não tem nada a ver com espaços nos nomes de arquivos.