Попытка преобразовать начальный временной код каждой строки файла журнала следующим образом
$ cat test.log
[Tue Apr 9 03:32:21 2024] {cmd1}
[Tue Apr 9 03:33:42 2024] {cmd2}
[Tue Apr 9 03:35:51 2024] {cmd3}
$
$ cat test.log | < How ?? >
2024-04-09 03:32:21 cmd1
2024-04-09 03:33:42 cmd2
2024-04-09 03:33:42 cmd3
$
Пытался использовать эти варианты, но безуспешно
$ cat test.log
[Tue Apr 9 03:32:21 2024] {cmd1}
[Tue Apr 9 03:33:42 2024] {cmd2}
[Tue Apr 9 03:35:51 2024] {cmd3}
$
$ cat test.log | awk -F"[][{}]" '{print $2" "$4}'
Tue Apr 9 03:32:21 2024 cmd1
Tue Apr 9 03:33:42 2024 cmd2
Tue Apr 9 03:35:51 2024 cmd3
$
$ cat test.log | awk -F"[][{}]" '{print strftime("%F %T", $2)" "$4}'
1970-01-01 00:00:00 cmd1
1970-01-01 00:00:00 cmd2
1970-01-01 00:00:00 cmd3
$
Функция strftime() возвращает время начала эпохи
$ date -d "Tue Apr 9 03:32:21 2024" +"%s"
1712633541
$
$ echo 1712633541 | awk '{print strftime("%F %T", $0)}'
2024-04-09 03:32:21
$
Также попробовал функцию system()
$ echo "Tue Apr 9 03:32:21 2024" | awk '{print strftime("%F %T", system("date -d \"$0\" +\"\%s\""))}'
awk: cmd. line:1: warning: escape sequence `\%' treated as plain `%'
date: invalid date 'sh'
1970-01-01 00:00:01
$
Подробнее здесь: https://stackoverflow.com/questions/782 ... -each-line
Как преобразовать начальную временную метку каждой строки ⇐ Linux
1712652834
Гость
Попытка преобразовать начальный временной код каждой строки файла журнала следующим образом
$ cat test.log
[Tue Apr 9 03:32:21 2024] {cmd1}
[Tue Apr 9 03:33:42 2024] {cmd2}
[Tue Apr 9 03:35:51 2024] {cmd3}
$
$ cat test.log | < How ?? >
2024-04-09 03:32:21 cmd1
2024-04-09 03:33:42 cmd2
2024-04-09 03:33:42 cmd3
$
Пытался использовать эти варианты, но безуспешно
$ cat test.log
[Tue Apr 9 03:32:21 2024] {cmd1}
[Tue Apr 9 03:33:42 2024] {cmd2}
[Tue Apr 9 03:35:51 2024] {cmd3}
$
$ cat test.log | awk -F"[][{}]" '{print $2" "$4}'
Tue Apr 9 03:32:21 2024 cmd1
Tue Apr 9 03:33:42 2024 cmd2
Tue Apr 9 03:35:51 2024 cmd3
$
$ cat test.log | awk -F"[][{}]" '{print strftime("%F %T", $2)" "$4}'
1970-01-01 00:00:00 cmd1
1970-01-01 00:00:00 cmd2
1970-01-01 00:00:00 cmd3
$
Функция strftime() возвращает время начала эпохи
$ date -d "Tue Apr 9 03:32:21 2024" +"%s"
1712633541
$
$ echo 1712633541 | awk '{print strftime("%F %T", $0)}'
2024-04-09 03:32:21
$
Также попробовал функцию system()
$ echo "Tue Apr 9 03:32:21 2024" | awk '{print strftime("%F %T", system("date -d \"$0\" +\"\%s\""))}'
awk: cmd. line:1: warning: escape sequence `\%' treated as plain `%'
date: invalid date 'sh'
1970-01-01 00:00:01
$
Подробнее здесь: [url]https://stackoverflow.com/questions/78297014/how-to-convert-initial-timetsamp-of-each-line[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия