kop*_*kan 52 unix directory rm
我在一个目录中有数百个目录和文件.
删除目录的最佳方法是什么(无论目录中是否包含任何内容,只需删除它们)
目前我使用ls -1 -d */
,并将它们记录在一个文件中,然后执行sed
,然后运行它.这很长.我正在寻找更好的方法来删除目录
Cas*_*Cas 169
这更简单,对我有用:
rm -r */
Run Code Online (Sandbox Code Playgroud)
cat*_*int 20
find . -maxdepth 1 -mindepth 1 -type d
然后
find . -maxdepth 1 -mindepth 1 -type d -exec rm -rf '{}' \;
要添加说明:
find
由于开始在当前目录中.
,并保持在当前目录中只-maxdepth
和-mindepth
两个设置1
.-type d
告诉find
我只匹配目录的东西.
find
-exec
在这种情况下,还有一个可以将结果传递给另一个函数的标志rm
.的'{}' \;
是这些结果的传递方式.请参阅此答案以获得有关内容{}
和\;
操作的更完整说明
ont*_*ia_ 12
第一次运行:
find /path -d -type d
Run Code Online (Sandbox Code Playgroud)
为了确保输出看起来很清晰,那么:
find /path -d -type d -exec rm -rf '{}' \;
Run Code Online (Sandbox Code Playgroud)
-type d
只查找目录,然后-d
确保将子目录放在父目录之前.
Mou*_*ood -19
一行:
rm -R `ls -1 -d */`
Run Code Online (Sandbox Code Playgroud)
(反引号)