Как получить вчерашнюю дату и сохранить в одной переменной

Отключите новый / opt, и вы снова увидите старый / opt в корневом разделе. Затем вы можете очистить его / удалить его содержимое и снова смонтировать новый / opt.

Для большей безопасности отключите / opt, переместите старый / opt в / oldopt, создайте новый / opt с тем же владельцем и разрешениями, а затем снова смонтируйте / opt. Затем вы можете сравнить / opt и / oldopt и удалить / oldopt, убедившись, что все в порядке.

1
07.12.2015, 01:37
2 ответа

Надеюсь, вы могли используйте perl

$ dt=`perl -e 'print substr(scalar localtime(time-86400),0,10)'`
$ echo "$dt"
Sat Dec  5
$ grep "$dt" <logfile>

В приведенном выше коде perl time возвращает текущее время в секундах с начала эпохи. Чтобы получить вчерашний день, вычитая 86400 секунд и скаляр печатает его в удобочитаемом формате. I Предположим, вам нужно просто вчера в формате DAY MON DT , чтобы вы могли найти все строки, соответствующие этому дню, независимо от времени. Чтобы просто получить необходимые поля, используйте substr для печати первых 10 символов и сохранение в переменной dt . Вы можете использовать эту переменную с grep .

2
29.04.2021, 00:20

Ваш вопрос плохо сформулирован, но, насколько я понял, вы ищете что-то вроде этого:

date --date="-1 day" +"%a %b %-d"

Это даст вам дату вчерашнего дня, отформатированную так же, как вы указали в фрагменте вашего лог-файла. Вы можете сохранить это в переменную, сделав:

yesterday=$(date --date="-1 day" +"%a %b %-d")

или для grep вы можете сделать что-то вроде следующего:

yesterday=$(date --date="-1 day" +"%a %b %-d") ; grep "$yesterday" <file name>

Надеюсь, это ответит на ваш вопрос

0
29.04.2021, 00:20

Теги

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