Я борюсь с этим, я хочу объединить группу строк в одну строку/строку. Каждая строка (titi/toto/tata) моего файла имеет 2 или 3 поля, разделенные знаком «;». Итак, мой ввод таков:
titi1
titi2
titi3
43;75;97
1;2;87
toto1
toto2
toto3
40;50;60
tata1
tata2
tata3
4;5;2
5;3;7
2;5;9
Мне нужен этот вывод:
titi1;titi2;titi3;43;75;97
titi1;titi2;titi3;1;2;87
toto1;toto2;toto3;40;50;60
tata1;tata2;tata3;4;5;2
tata1;tata2;tata3;5;3;7
tata1;tata2;tata3;2;5;9
Итак, вы можете видеть, что первые 3 строки представляют собой информацию (toto/tata и т. д.), которая должна повторяться для каждой строки после этого, начиная с числа.
Сначала в моем вводе была только одна строка с номером, поэтому это была группа 4 на 4. Поэтому я искал на форуме, нашел ли я пример, и сделал это с помощью такой строки:
awk '{getline b; getline c; getline d;printf("%s %s %s %s\n",$0,b,c,d)}'
Но затем у меня появилось 2 или даже 3 линии с числами... Поэтому я изо всех сил пытаюсь сделать «условный», который понимает, что он должен повторять первые 3 линии каждый раз, когда видит линию, начинающуюся с цифр.