paste
元のファイル"first.xls"に新しい列を追加するために使用したいと思います。私のファイル:
first.xls
1
1
1
second.xls
2
2
2
私は以下を使用しています:
paste -d'\t' first.xls second.xls >> first.xls
私は得る
first.xls
:
1
1
1
1 2
1 2
1 2
しかし、私が望むものは
first.xls
:
1 2
1 2
1 2
first.xls
最初から上書きしたい新しいファイルに保存したくありません。スクリプトを実行するたびに新しい列が追加されるように、新しい列を最終結果に貼り付けたいので、これが必要です。
1 2 2
1 2 2
1 2 2
それから
1 2 2 2
1 2 2 2
1 2 2 2
など...
ベストアンサー1
使用スポンジ~からその他のユーティリティパック:
paste -d'\t' first.xls second.xls | sponge first.xls
man sponge
スポンジ標準入力を読み取り、指定されたファイルに書き込みます。シェルリダイレクトとは異なり、スポンジは出力ファイルを開く前にすべての入力を吸収します。これにより、同じファイルを読み書きするパイプを制限できます。