ファイルの代替行を結合する方法は?

ファイルの代替行を結合する方法は?

代替行を結合するために変更する必要がある4行の入力ファイルがあります。その場で手術をしたいです。

INPUT:
Tom
Nathan
Jack
Polo

Desired Output:
Tom    Jack
Nathan Polo

1つの方法は、奇数行を集めて反転して偶数行を切り取り、2つのファイルを結合して最終出力を得ることです。しかし、私はより簡単な解決策を探しています。

答え1

与えられた

$ cat INPUT
Tom
Nathan
Jack
Polo

それから

$ pr -s -T -2 < INPUT
Tom     Jack
Nathan  Polo

(列間に単一のタブ間隔があるページング、ヘッダーなし、2つの列)または

$ paste -d ' ' - - < INPUT | rs -T
Tom     Jack
Nathan  Polo

(貼り付けてから移動)

答え2

同じ結果を得るために、次のコマンドを使用しました。

私はPRと比較して複雑さを受け入れます。しかし、これは私の試みです。

for i in `sed -n '1~2p' l.txt`;do sed -n "/$i/,+1p" l.txt; done| split -l 2 |paste xaa xab

出力

Tom     Jack
Nathan  Polo

関連情報