Как найти файл с меткой времени с помощью grep? Я ищу цифры часа

. в шаблоне означает «любой символ». . \ {64 \} означает «64 символа», любой из них.

\ 1 - это обратная ссылка на первую совпадающую группу, то есть то, что было сопоставлено первой парой круглых скобок \ (... \) . Чтобы вставить литерал 1 , не добавляйте обратную косую черту.

Вы можете использовать "адреса" в sed, чтобы ограничить команду только некоторыми строками, например

sed '/^.\{46\}STRING ONE \{8\}/s/^\(.\{64\}\).\{16\}/\1AAAABBBBCCCC    /'

, который читается как . Если строка начинается с 46 символов, за которыми следуют STRING ONE и 8 пробелов, запомните первые 64 символа в \ 1 и замените их и следующие 16 знаков после запомненных знаков, за которыми следуют AAAABBBBCCCC и четыре пробела.

Чтобы добавить больше команд с адресами, разделите их точкой с запятой или используйте несколько переключателей -e :

sed -e '/address1/s/pattern1/replacement1/;/address2/s/pattern2/replacement2/'
sed -e '/address1/s/pattern1/replacement1/' -e '/address2/s/pattern2/replacement2/'
2
17.11.2018, 22:33
2 ответа

Файл журнала содержит формат даты в 2017-03-15T08: 00: 23.698411Z формат. Если это время в формате UTC, то есть 2017-03-15T08: 00: 23.698411Z (время и дата 08:00:23 и 2017-03- 15), и вам нужно преобразовать его в IST. Используйте команду ниже для последнего часа

date -d '2017-03-15T08: 00: 23.698411Z последние часы' -u +% s

1489561223

date -d @ 1489561223 + "% Y /% m /% d-% H:% M:% S"

2017/03 / 15-07: 00: 23

хочу вернуться 2 часа назад, затем используйте «2 часа назад» вместо «последние часы».

Примечание: - Я запускаю указанную выше команду на Linux-сервере, а время моего Linux-сервера указано в UTC. Если вы хотите запустить указанную выше команду на Linux-сервере IST, вам нужно добавить еще 5 часов 30 минут (например: - " 6 часов 30 минут назад "вместо" последние часы ").

1
27.01.2020, 22:10

С awk это что-то вроде:

$ var=$(date +"%b-%d-%Y-%I:%M:%S %p" | awk -F[-:] '{print $4}') && echo $var
04
$ var=$(date +"%b-%d-%Y-%I:%M:%S %p" | awk -F[-:] '{print $4 - 1}') && echo $var
3
1
27.01.2020, 22:10

Теги

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