Как найти файлы, измененные за последний месяц, в Linux?

В NetworkManager используйте nmcliдля запроса статуса DHCP для вашего активного подключения (при условии, что )с

nmcli -f ipv4.method con show "`nmcli -t -f NAME connection `"

Для получения полной информации DHCP используйте -f DHCP4. При необходимости настройте ipv6.

2
08.07.2020, 11:32
2 ответа

Кажется, я часто использую find -printfэти вещи.

$ which month_files
month_files () {
        find. -type f -printf "%TY-%Tm\t%p\n" | grep ^$1 | cut -f2
}

# example run on my ~/.cache directory
$ month_files 2020-05 | wc
   1007    1007   49917

Теперь вы можете обрабатывать эти файлы по своему усмотрению. Например,

mkdir /target/2020-05
month_files 2020-05 | xargs -d"\n" -I % cp % /target/2020-05/

-Iзаставит-L 1(одно выполнение на строку ). В частности, для команды cpвы можете повысить эффективность, используя

month_files 2020-05 | xargs -d"\n" cp --target-directory /target/2020-05/

Я предполагаю, что ни в одном из имен файлов нет новой строки. Я не очень люблю подобную ерунду в своих системах, я имею в виду, что пробелы и некоторые специальные символы — это одно, а символы новой строки — совсем другое. (Или, принося извинения Яну Флемингу, «пробелы — это случайность; специальные символы — это совпадение, новые строки — действия противника»!)

0
18.03.2021, 23:21

Текущий месяц (с первого числа)

/usr/bin/find $SOURCE_DIR -maxdepth 1 -type f -name 'files*.pdf' -newermt "$(date +%y-%m-1)" -exec cp -p {} $DEST_DIR`date +"%B_%Y"` \;

С первого дня прошлого месяца по настоящее время:

/usr/bin/find $SOURCE_DIR -maxdepth 1 -type f -name 'files*.pdf' -newermt "$(date -d "$(date +%y-%m-1) - 1 month" +%y-%m-%d)" -exec cp -p {} $DEST_DIR`date +"%B_%Y"` \;

С первого дня последнего месяца до последнего дня последнего месяца:

/usr/bin/find $SOURCE_DIR -maxdepth 1 -type f -name 'files*.pdf' -newermt "$(date -d "$(date +%y-%m-1) - 1 month" +%y-%m-%d)" -not -newermt "$(date +%y-%m-1)" \;

РЕДАКТИРОВАТЬ:

Не используйте mtime, так как mtimeищет файлы, измененные в 24*n, и не запускается в начале дня.

1
18.03.2021, 23:21

Теги

Похожие вопросы