Загрузка данных
{ original[NR] = $0 } END { if (NR == 0) exit if (NR <= 2) { for (i = 1; i <= NR; i++) print original[i] exit } for (i = 1; i <= NR; i++) { first = original[i] if (match(first, /^[^[:space:]]+/)) { word[i] = substr(first, RSTART, RLENGTH) rest[i] = substr(first, RLENGTH + 1) sub(/^[[:space:]]+/, "", rest[i]) } else { word[i] = "" rest[i] = original[i] } } print rest[1] for (i = 2; i <= NR - 2; i++) { if (word[i-1] != "") print word[i-1] " " rest[i] else print rest[i] } if (word[NR-2] != "") print word[NR-2] " " original[NR-1] else print original[NR-1] print original[NR] }