В NetworkManager используйте nmcli
для запроса статуса DHCP для вашего активного подключения (при условии, что )с
nmcli -f ipv4.method con show "`nmcli -t -f NAME connection `"
Для получения полной информации DHCP используйте -f DHCP4
. При необходимости настройте ipv6.
Кажется, я часто использую 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/
Я предполагаю, что ни в одном из имен файлов нет новой строки. Я не очень люблю подобную ерунду в своих системах, я имею в виду, что пробелы и некоторые специальные символы — это одно, а символы новой строки — совсем другое. (Или, принося извинения Яну Флемингу, «пробелы — это случайность; специальные символы — это совпадение, новые строки — действия противника»!)
Текущий месяц (с первого числа)
/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
, и не запускается в начале дня.