ata*_*man 6 bash shell command-line find
我正在尝试删除目录中的所有空文件夹。但是,find . -type f -empty没有找到任何东西,因为每个文件夹都包含一个隐藏.svn文件夹。
我该如何解决这个问题?
如果可以的话,您当然可以先删除所有.svn文件夹。缺点:如果有人使用 SVN,您将丢失版本控制信息。如果有人正在使用 SVN,那么仅仅删除这些文件夹并不是一个好主意(或者实际上您也必须从 SVN 中删除这些文件夹,因为 SVN 正在跟踪文件夹和文件)。
如果这是不可能的,我会采用脚本路线:
for folder in $(find . -type d); do
if [ "`ls $folder | wc -l`" -eq 0 ]; then
echo "I am going to delete $folder"
fi
done
Run Code Online (Sandbox Code Playgroud)
首先尝试试运行,因为可能会有令人惊讶的事情。然后你可以改变rm -r而不是那个echo。
但请注意,这将删除仅包含点文件的所有文件夹(例如a/.this_is_super_important,如果没有其他文件或文件夹,则将被删除)。
| 归档时间: |
|
| 查看次数: |
3445 次 |
| 最近记录: |