
Я не уверен, возможно ли это.
Я делаю ls -l, он выдает все файлы в текущем каталоге. Есть ли способ вывести список только тех файлов, которые не были созданы/изменены в субботу с помощью команды shell?
решение1
Как это сделать:
$ LANG=C find . -maxdepth 1 -printf '%p %AA\n' |
awk '$NF=="Saturday"{next}{$NF=""}1'
Я полагаю, мы не печатаем файлы длявсеСуббота. Это то, чего вы ожидаете, или нет.
решение2
решение3
Вам следует выбрать, какое время вам нужно
%y
модификация%w
создание%z
изменять
или любая комбинация:
stat * --printf="%n\t%y %z\n" | grep -vF $(date -d "last Saturday" +%F) | cut -f1
Также выберите, какая информация вам нужна, и составьте --printf=
строку.
Или вы можете просто использовать find
команду
find -maxdepth 1 -type f -daystart \
! -mtime $[$(date +%d)-$(date -d "last Saturday" +%d)]