入力:
Key1: value1 value2 value3
Key2: value1 value2 value3
value4 value5
Key3: value1 value2 value3
value4 value5 value6
value7 value8
Key4:
Key5: value1
出力:
Key1: value1 value2 value3
Key2: value1 value2 value3 value4 value5
Key3: value1 value2 value3 value4 value5 value6 value7 value8
Key4:
Key5: value1
インデントされた行を前の行の末尾に移動するにはどうすればよいでしょうか?
- インデントされた行内のスペースの数は一定です。
- 数十個のキーがあり、それぞれの値が次の行にインデントされている可能性があります。
- キーの値は複数行に渡って配置される場合があります
答え1
awk 'NR == 1 {printf("%s", $0); next}
/^ / {
for(i=1; i<=NF; i++){
printf(" %s", $i)
}
next
}
{printf("\n%s", $0)}' input > output