Отключите новый / opt, и вы снова увидите старый / opt в корневом разделе. Затем вы можете очистить его / удалить его содержимое и снова смонтировать новый / opt.
Для большей безопасности отключите / opt, переместите старый / opt в / oldopt, создайте новый / opt с тем же владельцем и разрешениями, а затем снова смонтируйте / opt. Затем вы можете сравнить / opt и / oldopt и удалить / oldopt, убедившись, что все в порядке.
Надеюсь, вы могли используйте 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
.
Ваш вопрос плохо сформулирован, но, насколько я понял, вы ищете что-то вроде этого:
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>
Надеюсь, это ответит на ваш вопрос