Как удалить все, кроме последнего файла в директории

ls -pt1 | sed '/.*\//d' | sed 1d | xargs rm


Команда «ls -pt1» выводит список файлов и директорий в директории, отсортированных по времени и помещает каждый элемент списка на новую строку. Затем команда «sed ‘/.*\//d'» удаляет все строки, содержащие каталоги, оставляя только имена файлов. Следующая команда «sed 1d» удаляет первую строку из списка файлов. Наконец, команда «xargs rm» принимает оставшиеся имена файлов в качестве аргументов и удаляет их. Команда полезна, если вам нужно удалить все файлы в директории, кроме последнего. Альтернативным способом может быть использование команды «rm !(последний_файл)» для удаления всех файлов, кроме указанного файла. Аргументы, передаваемые команде — это файлы в директории, которые будут удалены.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *