Respostas:
Se você tiver um arquivo por linha, uma maneira de fazer isso é:
tr '\n' '\0' < list_of_files_to_be_deleted.txt | xargs -0 -r rm --
A lista de arquivos é fornecida como entrada para o tr
comando que altera o separador de arquivo de avanço de linha para o byte nulo e o xargs
comando lê arquivos separados por bytes nulos na entrada e inicia o comando rm com os arquivos anexados como argumentos.
rm --
vez de apenas rm
, para que os nomes de arquivos que podem começar com traço não sejam tratados como rm
parâmetros.
monu.txt' Try
tr --help 'para mais informações. Operando rm: ausente Tente `rm --help 'para obter mais informações. ........ Isso é tudo o que eu posso ver #
A resposta acima é ótima, pois faz todo o possível para lidar com nomes de arquivos com espaços e "caracteres estranhos". Mas a maneira mais simples, se os nomes dos arquivos são sãos, é apenas (aviso, basismo!):
rm $(< /the/file/with/names)
Para casca regular:
rm `cat /the/file/with/names`