Назад | Перейти на главную страницу

Команда Linux / SSH для удаления каждого пути к файлу, найденного в файле

У меня есть файл, полный путей к файлу относительно его собственного пути:

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

Какой была бы подходящая команда оболочки, чтобы просмотреть каждую строку в этом файле и удалить ее?

xargs -d '\n' rm < listoffiles.txt
xargs -I{} --arg-file=file rm "{}"

или

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

Кавычки защищают имена файлов пробелами.

Если вы используете оболочку Bash, вы можете:

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

или если вы хотите удалить файлы старше 7 дней, вы можете добавить параметр -mtime следующим образом:

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