Измените только год на выводе “даты” - команда

Итак, предположим, что ваше устройство установлено /dev/sdc

попробуйте ls -la /sys/dev/block/* | grep sdc

Это должно быть хорошее начало.

Однако, я скажу, что Bus 001 Device 011: ID 058f:6387 Alcor Micro Corp. Flash Drive выглядит довольно подозрительно :)

Также помните, что sdX будет сгенерирован на лету из-за udev. Таким образом, вы можете быть сильно нажаты, чтобы сделать скрипт с константой.

Я предлагаю вам взглянуть на написание правил udev. Здесь - это стартер, он устарел, но это поможет.

0
17.04.2015, 19:16
2 ответа

Если вы хотите позволить дате создать стандартное форматирование даты, вы можете сделать:

$ date -d "$( date -d "Fri Apr 17 20:16:01 IST 2015" "+2016-%m-%d %T" )"

Но вы также можете использовать только один экземпляр даты и использовать соответствующие спецификаторы формата времени, как в:

date -d "Fri Apr 17 20:16:01 IST 2015" "+%a %b %e %T %Z 2016"

Или - так как ваш формат даты имеет год в конце - делайте только обработку строки на ссылке даты, e. g. используя awk, как в:

date -d "Fri Apr 17 20:16:01 IST 2015" | awk '$NF=2016'

Если год не фиксирован, а должен быть следующим:

date -d "Fri Apr 17 20:16:01 IST 2015" | awk '++$NF'

Если ваша дата уже в строке date_string, которая может быть:

awk '$NF=2016' <<< "${date_string}"
1
28.01.2020, 02:36

GNU дата принимает ряд относительных дат, которые вы можете поставить с флагом -d.

$ date -d '+1year'
Sun Apr 17 09:15:14 PDT 2016

См. Относительные элементы в строках даты для получения более подробной информации.

1
28.01.2020, 02:36

Теги

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