私の目標は、ディレクトリ内のすべてのファイルを空にすることです。私は実際にファイルを削除したくない、私はちょうどその内容を削除したい。リダイレクトシンボルをfind -execと組み合わせて使用する方が良い
あなたは私はディレクトリ内のすべてのファイルに対してこの操作を実行したい場合は、私はこれを行うことができます> file.txt
を行うことができ、単一のファイルでこれを行うにしたい場合:
find . -exec /bin/bash -c '> {}' \;
お知らせ方法上記のコマンドは/bin/bash
を呼び出す必要があります。これは単に次のようなコマンドを実行しているためです。find . -exec > {} \;
はfind: invalid argument ;' to -exec'
と言います。これは、リダイレクト記号がコマンドを混乱させるためです。私は/bin/bash
どのようにこれを行うことができますか?
-exec
内を実行するために必要とせずにこのコマンドを実行したいと思います
これを行うには
いいです。最初のものは完璧です。 '-s0'は何をするのですか?私はそれに関する情報を見つけることができませんでした。 – noobcoder
'-s0'は、ファイルを0バイトに切り捨てることを意味します。 – redneb
あなたが気に入らない解決策は、 'find'-with-' print0'よりももっと慣用的で(ポータブルな)面白いです。 –