Comando Linux/SSH para excluir todos os caminhos de arquivo encontrados no arquivo

Comando Linux/SSH para excluir todos os caminhos de arquivo encontrados no arquivo

Eu tenho um arquivo cheio de caminhos de arquivos relativos ao seu próprio caminho:

./Talent/152/Resume/a file name.pdf
./Talent/153/Resume/some file name.pdf
./Talent/154/Resume/yet another file name.pdf
... and so on ...

Qual seria o comando shell apropriado para percorrer cada linha deste arquivo e removê-lo?

Responder1

xargs -d '\n' rm < listoffiles.txt

Responder2

xargs -I{} --arg-file=file rm "{}"

ou

xargs -I{} -a file rm "{}"

As aspas protegem os nomes dos arquivos com espaços.

Responder3

Se você estiver em um shell Bash, você pode fazer:

find ./Talent/*/Resume/* -exec rm {} \;

ou se você quiser excluir os arquivos com mais de 7 dias, você pode adicionar o parâmetro -mtime assim:

find ./Talent/*/Resume/* -mtime +7 -exec rm {} \;

informação relacionada