[每日一氵] linux批量删除目录下的文件夹而不删除文件
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
给个例子吧:
思路大概是找到所有的目录,然后用管线传给删除的命令
查看当前目录下的文件和文件夹:
xxx@xxx:~/xxxx# ls
lung_001 lung_015 lung_027 lung_038 lung_048
lung_001.nii.gz lung_015.nii.gz lung_027.nii.gz lung_038.nii.gz lung_048.nii.gz
1. find
首先我们要先把所有的文件夹筛选出来,于是我们可以借助find
指令:
find . -type d
查找.
(当前目录) 种类为 d
(目录) 的所有文件(夹)
.
./lung_001
./lung_015
./lung_027
./lung_038
./lung_048
当时他现在把当前目录.
(当前目录) 也包括起来了
2. sed
接下来只要把.
过滤掉就行了,这里我们借用 sed
指令
sed -n '2,$p'
-n 仅输出符号条件的行
p 打印内容
2, $ 第2行到最后一行
借助管线|
,我们来过滤掉第一行.
find . -type d | sed -n '2,$p'
好的第一行已经过滤掉了
./lung_001
./lung_015
./lung_027
./lung_038
./lung_048
3. rm -rf
这个是删除文件 rm -rf
4. xargs
接下来用 xargs
命令,用来组合多个命令
find . -type d | sed -n '2,$p' | xargs rm -rf
这样就可以了,删除当前目录下的所有文件夹,但不删除文件
参考自:
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献14条内容
所有评论(0)