LINUX.ORG.RU

История изменений

Исправление Kroz, (текущая версия) :

Так?

$ cat log.txt
sdfsdfsd
!!!Транспорт xg813 задержка по причине Ожидание связи
вцфвфцвфцвфцвфцвфцв
вцфвфцвфцвфцвфцвфц
вфцвфцвфцвфцвфцв
Время начала задержки : 08:12:03
---Принято
sdfsdf
!!!Транспорт xg813 ускорение по причине Слишком быстрая связь
вцфвфцвфцвфцвфцвфцв
вцфвфцвфцвфцвфцвфц
вфцвфцвфцвфцвфцв
Время начала задержки : 08:12:03
---Принято
dfsafa
!!!Транспорт xg813 задержка по причине Ожидание связи
вцфвфцвфцвфцвфцвфцв
вцфвфцвфцвфцвфцвфц
вфцвфцвфцвфцвфцв
Время начала задержки : 08:12:03
---Принято
dfsafa

$ cat log.txt | sed -n '/задержка/,/^---/ p' | grep 'задержка\|Время начала задержки\|^---' | sed 's/^!!!Транспорт \([^ ]\+\).*$/\1/g' | sed 's/^Время начала задержки : //g' | sed 's/^---//g' | sed 'N;N;s/\n/ /g'
xg813 08:12:03 Принято
xg813 08:12:03 Принято


Писал максимально доступно, чтобы ты мог подменить токены, по которым делается выборка.

sed -n '/магия/,/магия/ p' - вывести кусок текста между двумя строками
grep 'магия'- фильтр строк
sed 's/магия/магия/g' - замена частей строки (фильтр внутри строки)
sed 'N;магия' - работаем с двумя строками (в моем случае - с тремя)

Расшифровка магии здесь

Исходная версия Kroz, :

Так?

$ cat log.txt
cat log.txt
sdfsdfsd
!!!Транспорт xg813 задержка по причине Ожидание связи
вцфвфцвфцвфцвфцвфцв
вцфвфцвфцвфцвфцвфц
вфцвфцвфцвфцвфцв
Время начала задержки : 08:12:03
---Принято
sdfsdf
!!!Транспорт xg813 ускорение по причине Слишком быстрая связь
вцфвфцвфцвфцвфцвфцв
вцфвфцвфцвфцвфцвфц
вфцвфцвфцвфцвфцв
Время начала задержки : 08:12:03
---Принято
dfsafa
!!!Транспорт xg813 задержка по причине Ожидание связи
вцфвфцвфцвфцвфцвфцв
вцфвфцвфцвфцвфцвфц
вфцвфцвфцвфцвфцв
Время начала задержки : 08:12:03
---Принято
dfsafa

$ cat log.txt | sed -n '/задержка/,/^---/ p' | grep 'задержка\|Время начала задержки\|^---' | sed 's/^!!!Транспорт \([^ ]\+\).*$/\1/g' | sed 's/^Время начала задержки : //g' | sed 's/^---//g' | sed 'N;N;s/\n/ /g'
xg813 08:12:03 Принято
xg813 08:12:03 Принято


Писал максимально доступно, чтобы ты мог подменить токены, по которым делается выборка.

sed -n '/магия/,/магия/ p' - вывести кусок текста между двумя строками
grep 'магия'- фильтр строк
sed 's/магия/магия/g' - замена частей строки (фильтр внутри строки)
sed 'N;магия' - работаем с двумя строками (в моем случае - с тремя)

Расшифровка магии здесь