私は3つのファイルを持っています。
cat file1
A
B
C
cat file2
2
3
4
cat file3
a
b
c
このようにファイルにマージする必要があります。
出力:
file1 file2 file3
A 2 a
B 3 b
C 4 c
シェルスクリプトでどのように行うことができますか。
よろしく
paste
あなたの友だちです
{ echo "file1\tfile2\tfile3"
paste file1 file2 file3 ; } > newOutFile
これら\t
はタブ文字です。別のフィールドセパレータが必要な場合は、それを変更するだけです。(ファイル内の最も広い値と同じ幅の適切な間隔の列が必要な場合は、より高度なソリューションが必要になります。その場合は、新しい質問を投稿してください)。
これ{ ... }
はプロセスグループと呼ばれ、プロセスグループの最後のコマンドは終了}
文字から。で区切る必要があることに注意してください;
。
いくつかのオプションについては、manページを確認してください。
IHTH
paste file1 file2 file3
デフォルトでは、タブで区切られます。オプションで区切り文字を変更でき-d
ます。標準出力に印刷する代わりに、リダイレクトを使用して別のファイルに保存します。