私は以下を試しています
touch ~/scratches/scr6.txt | cat ~/scr.txt > ~/scratches/scr6.txt | cat /dev/null > ~/scr.txt
scr6.txtが常に空である理由はわかりませんが、次のようにするとファイルがいっぱいになります。
cat ~/scr.txt > ~/scratches/scr6.txt
最初のケースがなぜ機能しないのか疑問に思います。
ベストアンサー1
各ステップを細分化すると、次のようになります。
touch ~/scratches/scr6.txt
ファイルが存在する場合は、タイムスタンプを今すぐ更新します。存在しない場合は作成してください。
cat ~/scr.txt > ~/scratches/scr6.txt
~/scr.txt を読み、内容を ~scratches/scr6.txt に書き込みます。
cat /dev/null > ~/scr.txt
~/scr.txt ファイルの消去
コメントで述べたように、コマンドの間に「|」(PIPE)の代わりに「&&」(AND)を使用する方が適切です。