bashを使用してディレクトリ内のすべてのフォルダを削除する方法は?

bashを使用してディレクトリ内のすべてのフォルダを削除する方法は?

デフォルトでは、すべてのサブフォルダを削除し、すべてのファイルをそのままにしたいと思います。たとえば、

Folder1/
    randomStuff/
         nope.txt
    installer.jar
    build.sh

RandomStuffとそのファイルを削除し、installer.jarとbuild.shはそのままにしたいと思います。

答え1

スラッシュで終わるファイル名は、常に通常のファイルではなくディレクトリを参照しているという事実を活用してください。

注文する

rm -r -- ./*/

あなたが説明することを達成します。

答え2

この試み:

find Folder1/* -type d -exec rm -rf {} +

その後、ディレクトリはフォルダを検索し、見つかったrm -rfフォルダごとにコマンドを実行します。

答え3

同じ目的を達成するために awk コマンドを使用します。


ls -ltr | awk '$1 ~ "^dr"{print "rm -rvf" " " $9}’ | sh

関連情報