テキストファイルが破損し続けるのはなぜですか?

テキストファイルが破損し続けるのはなぜですか?

重要ではないファイルを複数破壊しましたが、理由がわかりません。私は次のコマンドを実行してきました。

tr -sc 'A-Za-z' '\n' > somefile.txt | less

出力がなく(ENDが点滅している空白のページ)、確認後にファイルの内容がすべて削除されます。

全文ファイルを削除する別のコマンド

grep someword > someotherfile.txt  | less

答え1

この>演算子は、「コマンドの出力を取得し、指定されたファイルを切り捨て、コマンドの出力をそのファイルに書き込むことを意味します。

コマンドラインを読むあなたが望むのは、<「このファイルから標準入力を読み、それをコマンドに供給すること」です。

答え2

I/O リダイレクトに慣れたら、noclobberシェル設定を有効にすることが「より安全」であることがわかります。これにより、ファイルが誤って破損するのを防ぎます。シェルのマニュアルページを参照してください。http://en.wikipedia.org/wiki/Clobbering

答え3

これらのコマンドはユーザーが指示したため、すでにテキストファイルを破損しています(> file既存のファイルは書き込み前に切り捨てられます)。あなたはおそらく<「標準入力リダイレクト」を意味するものを探しているでしょう。~からここで」。

関連情報