フォルダの下のファイルを削除するには、次の方法で検索できます。
find /home -type f -delete
しかし、一時フォルダの下にあるファイルのみを再帰的に削除する方法は?
次の一時パスの例があるとします。
/home/bla/bla/temp
/home/test/temp
/home/subf/subf/subf/temp
.
.
.
/home/1/temp
temp
ディレクトリの下のファイルのみを削除するように検索構文を変更する方法
目的は、findコマンドを使用して一時フォルダのみを照合し、一時ディレクトリの下のファイルを削除することです。
答え1
find /home -type f -delete
削除しないでください文書、削除されます一般ファイルただし、fifo、デバイス、ディレクトリ、シンボリックリンク、ソケットなどを含む他のすべての種類のファイルは除外されます。
タイプを除くすべてのファイルを削除する場合目次、マンディレクトリツリーだけを残す! -type d
のではなく、これを使用できます-type f
。
名前付きディレクトリまたはその下にあるディレクトリ以外のすべてのファイルを削除するには、temp
次の手順を実行します。
LC_ALL=C find /home -path '*/temp/*' ! -type d -delete
答え2
一時フォルダを削除して再作成することもできます。
function delete-and-recreate() {
rm -r $1
mkdir $1
}
delete-and-recreate $(find . -name temp -type d)