0

私は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

シェルスクリプトでどのように行うことができますか。

よろしく

4

2 に答える 2

3

pasteあなたの友だちです

{ echo "file1\tfile2\tfile3" 
   paste file1 file2 file3 ; } > newOutFile

これら\tはタブ文字です。別のフィールドセパレータが必要な場合は、それを変更するだけです。(ファイル内の最も広い値と同じ幅の適切な間隔の列が必要な場合は、より高度なソリューションが必要になります。その場合は、新しい質問を投稿してください)。

これ{ ... }はプロセスグループと呼ばれ、プロセスグループの最後のコマンドは終了}文字から。で区切る必要があることに注意してください;

いくつかのオプションについては、manページを確認してください。

IHTH

于 2013-01-30T02:18:26.587 に答える
2
paste file1 file2 file3

デフォルトでは、タブで区切られます。オプションで区切り文字を変更でき-dます。標準出力に印刷する代わりに、リダイレクトを使用して別のファイルに保存します。

于 2013-01-30T02:18:23.267 に答える