Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование в *nix (http://forum.oszone.net/forumdisplay.php?f=35)
-   -   [решено] чередование строк (http://forum.oszone.net/showthread.php?t=221208)

rimo86 22-11-2011 18:52 1800980

чередование строк
 
Нужна помощь в написании скрипта в bash, есть файл вида
1320093090,Stop,
1320115307,Start,
1320123359,Stop,
1320173371,Start, # Вот эту строку нужно удалить
1320372563,Start,
1320374546,Stop,
1320410335,Start,
1320433656,Stop,

Соответственно повторяться могут как слова Start, так и Stop.

PhilB 23-11-2011 18:11 1801840

Не понятно по какому критерию надо удалять строки.

rimo86 23-11-2011 18:42 1801866

Нужно чтобы был законченный цикл start-stop. соответственно когда два раза подряд идут строки со Start, то удаляется первая строка где было упоминание. Со стопами наоборот, вторая строка где есть упоминание.

PhilB 23-11-2011 19:58 1801923

Могу предложить следующую команду консоли для решения этой задачи:
Код:

awk '/Start/ {st = $0; s = 0;} /Stop/ {if (s == 0) {print st; print $0;} s = 1; } END {if (s == 0) print st}' input > output
где input и output - имена входного и выходного файла соответственно.

rimo86 24-11-2011 09:37 1802186

Спс, то что надо.


Время: 15:22.

Время: 15:22.
© OSzone.net 2001-