私はファイルにデータを保存する作業を行っています。しかし、スクリプトを実行するたびに、前のファイルに追加されてしまいます。
ファイルが既に存在する場合、そのファイルを削除する方法について助けが必要です。
ベストアンサー1
ファイルが存在するかどうかを確認する必要はありません。削除してみてください。
rm -f /p/a/t/h
# or
rm /p/a/t/h 2> /dev/null
ファイルが存在しない場合は 2 番目のコマンドは失敗します (ゼロ以外の終了ステータスを返します) が、最初のコマンドは-f
(の省略形--force
) オプションにより成功します。状況によっては、これが重要な詳細になる場合があります。
しかし、ファイルに追加している場合、スクリプトが>>
を ファイルにリダイレクトするために を使用している可能性が高くなります。>>
を に置き換えるだけです>
。コードが提供されていないため、判断は困難です。
のようなことも実行できますtest -f /p/a/t/h && rm /p/a/t/h
が、これはまったく意味がありません。テストが true を返しても、/p/a/t/h を削除しようとする前に /p/a/t/h が存在しなくなる可能性があります。さらに悪いことに、テストが失敗し、/p/a/t/h が存在しないことを想定している次のコマンドを実行する前に /p/a/t/h が作成されます。これを試みることは典型的な競合状態です。実行しないでください。