出力を複数のファイルに保存

出力を複数のファイルに保存

ディスク容量の更新を複数のファイルに送信しようとしています。あるファイルには、時間ごとに上書きされる現在の更新があり、別のファイルには、実行されるたびに出力が追加されたすべての更新があります。ただし、最初のファイル(/tmp/daily..)ではなく、追加されたファイルにのみ出力を追加します。

パスワードイタリック体

filename=$(date +"%d_$m-%H:%M")
df -kh  > /tmp/daily"$filename".txt >> /tmp/grand.txt

とにかく、最初のファイル(/tmp/daily...)を最新の出力で上書きし、2番目のファイル(/tmp/grand.txt)が実行時に追加されるようにすることはできますか?

アーサー

ベストアンサー1

df -kh | tee -a /tmp/grand.txt > /tmp/daily"$filename".txt

同じデータを複数の場所にエクスポートするには、データをコピーする必要があります。それがまさにそのことですtee

上記のパイプラインからtee出力を取得しますdf。次にそれをgrand.txtファイルに追加し、データのコピーを標準出力ストリームに渡します。出力ストリームは、切り捨てられた出力リダイレクトを介して毎日ファイルにリダイレクトされます。

または、

df -kh | tee /tmp/daily"$filename".txt >> /tmp/grand.txt

おすすめ記事