web-dev-qa-db-ja.com

>と>>の違いは何ですか(特にcatプログラムでの使用に関連しているため)?

temp.txtというファイルがあるとします。 catプログラムを使用して、このファイルの内容をmyfile.txtの末尾に追加します。myfile.txtが存在しない場合は作成し、存在する場合は追加します。

私はこれらの可能性を検討しています:

cat temp.txt > myfile.txt

または

cat temp.txt >> myfile.txt

どちらのコマンドも希望どおりに機能しているようです。だから、私の質問は、>>>の違いは何ですか?御時間ありがとうございます。

5
Andrew

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

man bashから:

出力のリダイレクト

出力のリダイレクトにより、Wordの拡張によって名前が付けられたファイルが開かれ、ファイル記述子nに書き込むか、nが指定されていない場合は標準出力(ファイル記述子1)に書き込まれます。ファイルが存在しない場合は作成されます。存在する場合は、ゼロサイズに切り捨てられます。

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

[n]>Word

リダイレクト演算子が>で、組み込みのセットに対するnoclobberオプションが有効になっている場合、Wordの展開に起因する名前のファイルが存在し、通常のファイルであると、リダイレクトは失敗します。リダイレクション演算子が> |の場合、またはリダイレクション演算子が>で、set builtinコマンドのnoclobberオプションが有効になっていない場合、Wordで指定されたファイルが存在していてもリダイレクトが試行されます。

リダイレクトされた出力の追加

この方法で出力をリダイレクトすると、Wordの展開によって名前が付けられたファイルが開かれ、ファイル記述子nに追加されます。nが指定されていない場合は、標準出力(ファイル記述子1)が開かれます。ファイルが存在しない場合は作成されます。

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

[n]>>Word
11
Chris Down

>の場合
例えば。 cat abc.txt > pqr.txt
pqr.txtの内容はabc.txtの内容に置き換えられます

>>の場合
例えば。 cat abc.txt >> pqr.txt
abc.txtの内容は、最後にそのpqr.txtが追加されます。

1
shivam