Загрузка данных



{
    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]
}