Comando Linux/SSH para eliminar todas las rutas de archivo encontradas en el archivo

Comando Linux/SSH para eliminar todas las rutas de archivo encontradas en el archivo

Tengo un archivo lleno de rutas de archivo relativas a su propia ruta:

./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 ...

¿Cuál sería el comando de shell apropiado para revisar cada línea de este archivo y eliminarlo?

Respuesta1

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

Respuesta2

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

o

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

Las comillas protegen los nombres de archivos con espacios.

Respuesta3

Si estás en un shell Bash puedes hacer:

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

o si desea eliminar los archivos con más de 7 días, puede agregar el parámetro -mtime como este:

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

información relacionada