ファイルが3つあります。
ファイル1:
compute-0-44
compute-0-2
compute-0-7
compute-0-8
ファイル2:
0
11/29/2017 | 02:01:34
0
05/16/2018 | 08:47:56
ファイル3:
0
963
0
459
これを行うと、paste file1 file2 file 3
次のようになります。
compute-0-44 0 0
compute-0-2 11/29/2017 | 02:01:34 963
compute-0-7 0 0
compute-0-8 05/16/2018 | 08:47:56 459
私が望むもの:
compute-0-44 0 0
compute-0-2 11/29/2017 | 02:01:34 963
compute-0-7 0 0
compute-0-8 05/16/2018 | 08:47:56 459
ペーストを使用できますか?目的に合う可能性がある他の選択肢(sedなど)がある場合。
答え1
使用pr
コマンド:
$ pr -mT file{1..3} | expand
compute-0-44 0 0
compute-0-2 11/29/2017 | 02:01:34 963
compute-0-7 0 0
compute-0-8 05/16/2018 | 08:47:56 459
からman pr
:
-m, --merge print all files in parallel, one in each column, truncate lines, but join lines of full length with -J
タブを空白に変換するパイプexpand
- アプリケーションによっては不要な場合があります(実際にこのサイトで出力形式がよく見えるようにここに追加しました)。
答え2
sed
行に垂直バーがない場合は、2番目のタブを3つのタブに置き換えることができます。
paste file{1..3} | sed '/|/!s/\t/\t\t\t/2'