Следующая команда gawk печатает только первое совпадение, и мне нужны все из входного файла.
$ gawk 'BEGIN{RS="{Mon,Tue} Mar {21,22} [0-9]{2}:[0-9]{2}:[0-9]{2} 2016";FS ="\n";OFS="\n"} {print savedRT, $1, $2, $3, $4} {savedRT = RT}' iostat.20160321
Mon Mar 21 20:05:00 2016
cpu
us sy wt id
4 2 0 94
Вот шаблон форматирования входных данных:
Mon Mar 21 20:05:00 2016
cpu
us sy wt id
4 2 0 94
...
...
...
Mon Mar 21 20:10:00 2016
cpu
us sy wt id
3 2 0 94
...
...
...
Есть ли глобальный флаг с gawk? Что мне не хватает?
{Mon,Tue}
не является чередованием в регулярном выражении. Я думаю, что вашRS
никогда не сопоставляется, весь файл рассматривается как одна запись, и вы просто распечатываете его первые четыре поля (есть также пустая строка, где печатаетсяsavedRT
, но это пустая строка). - person Benjamin W.   schedule 05.05.2016