У меня есть файл, полный путей к файлам относительно его собственного пути:
./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 ...
Какая команда оболочки подойдет для того, чтобы пройтись по каждой строке в этом файле и удалить ее?
решение1
xargs -d '\n' rm < listoffiles.txt
решение2
xargs -I{} --arg-file=file rm "{}"
или
xargs -I{} -a file rm "{}"
Кавычки защищают имена файлов с пробелами.
решение3
Если вы находитесь в оболочке Bash, вы можете сделать следующее:
find ./Talent/*/Resume/* -exec rm {} \;
или если вы хотите удалить файлы старше 7 дней, вы можете добавить параметр -mtime следующим образом:
find ./Talent/*/Resume/* -mtime +7 -exec rm {} \;