Использование AWK: как определить поля печати для поиска строк, содержащих даты в диапазоне от сегодняшнего дня до 5 дней назад?

Какой диск будет первым при загрузке Linux Mint с USB, и то, где установлена ​​ваша Windows, не обязательно должно совпадать. Ваши окна, скорее всего, были установлены на / dev / sdb (SDD?), А / dev / sda действительно полностью бесплатен.

Проверьте / dev / sdb , если на нем есть ваши разделы Windows, вы можете просто использовать (часть) свободного места на / dev / sda .

Если что-то пойдет не так, вы можете просто восстановить / dev / sdb из резервной копии. Если вы не сделали резервную копию перед тем, как начать установку Linux Mint, вы правильно оценили ценность его (например, Win10) доступности.

1
23.05.2018, 11:36
3 ответа

En el siguiente script, la función mktimecrea una marca de tiempo de Unix basada en el primer y segundo campo del archivo que se puede comparar con la fecha de referencia de dateproporcionada en el argumento deawk:

awk -v startdate=$(date -d '5 days ago' +%s) '{d=$1 OFS $2; gsub("[-:]", " ", d); t=mktime(d)} t>startdate' file
1
28.04.2021, 23:46

enfoque GNUawk:

awk -F'[:-]' -v from_date=$(date -d'-4 days' +%s) \
'mktime(sprintf("%d %d %d %d %d %d", $1, $2, $3, $4, $5, $6)) >= from_date' file.txt

Muestra de salida:

2018-05-18 06:40:22 UTC+0800;sau;;less_than_100,heartbeat;CXS101289_R73B13(001-00-12)
2018-05-18 19:40:22 UTC+0800;sau;;less_than_100,heartbeat;CXS101289_R73B13(001-00-12)
2018-05-19 08:40:22 UTC+0800;sau;;less_than_100,heartbeat;CXS101289_R73B13(001-00-12)
2018-05-19 21:40:22 UTC+0800;sau;;less_than_100,heartbeat;CXS101289_R73B13(001-00-12)
2018-05-20 10:40:22 UTC+0800;sau;;less_than_100,heartbeat;CXS101289_R73B13(001-00-12)
2018-05-20 23:40:22 UTC+0800;sau;;less_than_100,heartbeat;CXS101289_R73B13(001-00-12)
2018-05-21 12:40:22 UTC+0800;sau;;less_than_100,heartbeat;CXS101289_R73B13(001-00-12)
2018-05-22 01:40:22 UTC+0800;sau;;less_than_100,heartbeat;CXS101289_R73B13(001-00-12)
2018-05-22 14:40:22 UTC+0800;sau;;less_than_100,heartbeat;CXS101289_R73B13(001-00-12)
2018-05-23 03:40:22 UTC+0800;sau;;less_than_100,heartbeat;CXS101289_R73B13(001-00-12)
1
28.04.2021, 23:46

Usando AWK:

OPCIÓN 1:

DATE=`date --date='5 days ago' +"%Y-%m-%d"`;awk '/'$DATE'/,EOF { print $0 }' file.txt

OPCIÓN 2:

DATE=`date +%Y-%m-%d -d "5 day ago"`;awk '/'$DATE'/,EOF { print $0 }' file.txt

OPCIÓN 3:

awk '/2018-05-18/,EOF { print $0 }' file.txt

Salida:

2018-05-18 06:40:22 UTC+0800;sau;;less_than_100,heartbeat;CXS101289_R73B13(001-00-12)
2018-05-18 19:40:22 UTC+0800;sau;;less_than_100,heartbeat;CXS101289_R73B13(001-00-12)
2018-05-19 08:40:22 UTC+0800;sau;;less_than_100,heartbeat;CXS101289_R73B13(001-00-12)
2018-05-19 21:40:22 UTC+0800;sau;;less_than_100,heartbeat;CXS101289_R73B13(001-00-12)
2018-05-20 10:40:22 UTC+0800;sau;;less_than_100,heartbeat;CXS101289_R73B13(001-00-12)
2018-05-20 23:40:22 UTC+0800;sau;;less_than_100,heartbeat;CXS101289_R73B13(001-00-12)
2018-05-21 12:40:22 UTC+0800;sau;;less_than_100,heartbeat;CXS101289_R73B13(001-00-12)
2018-05-22 01:40:22 UTC+0800;sau;;less_than_100,heartbeat;CXS101289_R73B13(001-00-12)
2018-05-22 14:40:22 UTC+0800;sau;;less_than_100,heartbeat;CXS101289_R73B13(001-00-12)
2018-05-23 03:40:22 UTC+0800;sau;;less_than_100,heartbeat;CXS101289_R73B13(001-00-12)
0
28.04.2021, 23:46

Теги

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