Eingang:
Key1: value1 value2 value3
Key2: value1 value2 value3
value4 value5
Key3: value1 value2 value3
value4 value5 value6
value7 value8
Key4:
Key5: value1
Ausgabe:
Key1: value1 value2 value3
Key2: value1 value2 value3 value4 value5
Key3: value1 value2 value3 value4 value5 value6 value7 value8
Key4:
Key5: value1
Wie kann ich eingerückte Zeilen an das Ende der vorherigen Zeile verschieben?
- Die Anzahl der Leerzeichen ist in den eingerückten Zeilen konstant.
- Es gibt Dutzende von Schlüsseln, und jeder davon könnte einen Wert haben, der in der nächsten Zeile eingerückt ist.
- Werte für einen Schlüssel können in mehreren Zeilen stehen
Antwort1
awk 'NR == 1 {printf("%s", $0); next}
/^ / {
for(i=1; i<=NF; i++){
printf(" %s", $i)
}
next
}
{printf("\n%s", $0)}' input > output