一時ファイルを使用せずに、最初のパラメータに結果を貼り付けて保存します。

一時ファイルを使用せずに、最初のパラメータに結果を貼り付けて保存します。

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

スポンジ標準入力を読み取り、指定されたファイルに書き込みます。シェルリダイレクトとは異なり、スポンジは出力ファイルを開く前にすべての入力を吸収します。これにより、同じファイルを読み書きするパイプを制限できます。

おすすめ記事