Tente este:
command that outputs files with spaces | while IFS= read -r file do rm "$file" done
A entrada será dividida em novas linhas, portanto, arquivos com novas linhas no nome não funcionarão. Citar nomes com espaços funciona sem problemas.
Digamos que eu tenha um comando canalizado como este:
$ ls -t|tail -n 10
Agora, se eu quiser remover todos os arquivos produzidos pelo comando acima, se os arquivos tiverem espaços, não funcionará:
$ rm 'ls -t|tail -n 10'
# assuming the first response is 'The File Name', I get:
rm: cannot remove ‘The’: No such file or directory
rm: cannot remove ‘File’: No such file or directory
rm: cannot remove ‘Name’: No such file or directory
Como posso citar os nomes dos arquivos antes de enviá-los para o rm?
Tente este:
command that outputs files with spaces | while IFS= read -r file do rm "$file" done
A entrada será dividida em novas linhas, portanto, arquivos com novas linhas no nome não funcionarão. Citar nomes com espaços funciona sem problemas.
Tags linux