コマンドは「paste - -」に似ていますが、アルファベット順にソートされます。

コマンドは「paste - -」に似ていますが、アルファベット順にソートされます。

次のテキストファイルがあります。

Adam
Bob
Cevin
David
Evan

「貼り付け - -」を実行すると、次のような結果が表示されます。

Adam   Bob
Cevin  David
Evan

ただし、下半分を新しい列として追加する必要があります。

Adam  David
Bob   Evan
Cevin

これを行う簡単な方法はありますか?

答え1

あなたが使用できる:

pr -t -2 file

ページ幅の半分より広い行は切り捨てられます(デフォルトでは72文字、-wこれを変更するにはオプションを参照)。

(知っているGNU実装を使用すると、ファイルにマルチバイト、幅が0、または幅が2つの文字が含まれている場合、列の並べ替えがオフになる可能性があります。)。または:

pr -t -2 -s file

このようなタブで列を区切ってくださいpaste(切り捨ては発生しません)。

ただし、prフォームフィード文字(^L)はページ区切り文字として扱われます。その文字がファイルにない場合は問題になりません。

または以下を使用してzsh

print -r -C2 -- ${(f)"$(<file)"}
  • $(<file): コンテンツのクロールfile
  • (f): オンライン分割Feed(改行)文字
  • -r: 印刷アル字型ああ
  • -C2:存在する2 列。

関連情報