>と>の違いは何ですか(特にcatプログラムで使用する場合)? [コピー]

>と>の違いは何ですか(特にcatプログラムで使用する場合)? [コピー]

というファイルがあるとしましょうtemp.txt。このcatプログラムを使用してこのファイルの内容を追加したいと思います。ファイルがない場合は作成し myfile.txt、あれば最後に追加します。myfile.txt

私は次の可能性を考えています。

cat temp.txt > myfile.txt

または

cat temp.txt >> myfile.txt

どちらのコマンドも私が望む方法で動作するようです。だから私の質問の>違いは何ですか>>?時間をいただきありがとうございます。

ベストアンサー1

>ファイルに書き込み、既存のコンテンツを上書きします。>>ファイルに追加します。

からman bash

出力リダイレクト

出力リダイレクトを使用すると、単語拡張のために名前が生成されたファイルがファイル記述子nに書き込むために開くか、nが指定されていない場合は標準出力(ファイル記述子1)に書き込まれます。ファイルが存在しない場合は生成され、サイズが0に切り捨てられます。

リダイレクトされた出力の一般的な形式は次のとおりです。

[n]>word

リダイレクト演算子が>で、組み込みコマンドセットのnoclobberオプションが有効な場合、拡張子という名前のファイルが存在し、通常のファイルの場合、リダイレクトは失敗します。リダイレクト演算子が> |またはリダイレクト演算子>>で、組み込みコマンドセットのnoclobberオプションが有効になっていない場合、wordという名前のファイルが存在してもリダイレクトを試みます。

リダイレクト出力の追加

このように出力をリダイレクトすると、単語拡張のために名前が生成されたファイルがファイル記述子nに追加されるか、nが指定されていない場合は標準出力(ファイル記述子1)に追加するために開かれます。ファイルが存在しない場合は生成されます。

追加出力の一般的な形式は次のとおりです。

[n]>>word

おすすめ記事