Сохраните в наборе файлов только 3 сохраненных файла с датой (т.е. добавленную дату в файлах) и удалите оставшиеся файлы в определенном каталоге.

У меня есть один сценарий, который мне нужно реализовать в Unix. В каталоге я хотел бы удалить файлы на основе добавленной даты в конце файла, эти файлы являются XML-файлами назад. Файлы должны быть удалены на основе следующих критериев. Сохраните в наборе файлов только 3 сохраненных файла с датой (Дата добавления в файлах) и удалите оставшиеся файлы.

Файлы каталогов: –

Комплект 1:

Wf_ABC_201801011224.xml wf_ABC_201801011220.xml Wf_ABC_201801011241.xml wf_ABC_201801011230.xml Wf_ABC_201801011244.xml wf_ABC_201801011260.xml 

Набор 2:

 Wf_DCB_201501021224.xml wf_DCB_201601031220.xml Wf_DCB_201601041241.xml wf_DCB_201401051230.xml Wf_DCB_201701061244.xml wf_DCB_201801061260.xml 

Набор 3:

 Wf_XYZ_201501011224.xml wf_XYZ_201601011220.xml Wf_XYZ_201701011241.xml wf_XYZ_201801011230.xml Wf_XYZ_201801021244.xml wf_XYZ_201801031260.xml Wf_XYZ_201501041224.xml wf_XYZ_201601051220.xml Wf_XYZ_201601061241.xml wf_XYZ_201401071230.xml Wf_XYZ_201701081244.xml wf_XYZ_201801091260.xml 

    2 Solutions collect form web for “Сохраните в наборе файлов только 3 сохраненных файла с датой (т.е. добавленную дату в файлах) и удалите оставшиеся файлы в определенном каталоге.”

    Попробуй это,

     D1=`date -d "1 day ago" +"%Y%m%d"` && D2=`date -d "2 day ago" +"%Y%m%d"` && D=`date +"%Y%m%d"` && find . -type f -name "wf_*_*.xml" -not -name "wf_*_$D*.xml" -not -name "wf_*_$D1*.xml" -not -name "wf_*_$D2*.xml" -exec rm {} + 
    • сохранить последние 3 даты в D1, D2 и D
    • найти файлы с шаблоном wf_*_*.xml
    • затем проигнорируйте скороговорки с последними 3 датами как wf_*_$D*.xml , wf_*_$D1*.xml и wf_*_$D2*.xml
    • затем удалите файлы

    Попробуй это:

     for set in ABC DCB XYZ; do printf "%s\n" [Ww]f_${set}_*.xml | sort -t_ -k3,3n | head -n -3 | xargs echo rm done 

    Если похоже, что он нашел нужные файлы, перезапустите его без echo

    Interesting Posts

    Как я могу настроить систему на неустойчивые отключение питания?

    удалить cupsd полностью?

    Как сохранить пароль при использовании SCP (копия)?

    Настройка статических маршрутов по умолчанию с помощью RIPv2

    Должен ли я создавать резервные копии моих ключей хоста SSH?

    Изменяет ли файл конфигурации Xresources Wayland?

    Ошибка libGL: сопоставление fbConfigs или визуальных изображений не найдено по ssh

    Когда используется порт, который используется?

    Почему tmux запускается медленнее и медленнее с течением времени?

    Как я могу grep через файлы, чье имя начинается с `-`?

    Как я могу заставить Bash отображать определения автозаполнения для данной команды?

    Как ограничить / сократить выходную мощность на USB-клиент?

    Как выбрать наивысший элемент числа во многих файлах со многими массивами

    Невозможно использовать глобальные shorcuts для приложений Python

    Я хотел бы запустить несколько команд терминала изнутри vim

    Linux и Unix - лучшая ОС в мире.