如何删除Linux中除少数提到的文件夹以外的所有文件夹

iSaumya

我的文件夹中有以下文件夹结构wp-content=>

2016/ => it has many subfolders in it and I wanna keep them
2015/ => it has many subfolders in it and I wanna keep them
2014/ => it has many subfolders in it and I wanna keep them
2013/ => it has many subfolders in it and I wanna keep them

besides those folder there are tons of temp folders which I want to delete along with anything inside it. The folder name look like this:

ZhsvhgTjh/
Vgfsugu79/
1agDjgdki/
8gdygREfh/
Hbjddsyug/
....so on....

现在的问题是,如果我运行,rm -f它将删除该文件夹中的所有内容,包括2016, 2015, 2014, 2013

另外,如果我尝试以下操作:find . -name a -exec rm -rf {} \;它将仅适用于1个文件夹名称,并且我键入了每个疯狂的文件夹名称,这是疯狂的,因为它具有将近20,000个以上的临时文件夹。

因此,我希望有人能帮助我执行一条命令,通过该命令我可以删除其中的所有文件夹和内容(文件夹及其内容除外)2016, 2015, 2014, 2013

另外,由于这个remove命令,任何人都可以让我知道是否有一种方法可以运行count命令,以查看查询是否选择了正确数量的文件夹?我不想意外删除任何重要内容。

谢谢你。

布阿

打印树

[email protected]:~/tmpp/wp-content$ ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/   /' -e 's/-/|/'
   .
   |-2015
   |---keep2
   |---keep3
   |-2016
   |---keep1
   |---keep2
   |-NKAXOIND
   |-x232sfsw
   |---we233ds

显示垃圾文件夹:

   [email protected]:~/tmpp/wp-content$ find . -type d | grep -Pv '20\d{2}' | tail -n +2                   ./x232sfsw
    ./x232sfsw/we233ds
    ./NKAXOIND

数他们

[email protected]:~/tmpp/wp-content$ find . -type d | grep -Pv '20\d{2}' | tail -n +2 | wc -l
3

删除它们

[email protected]:~/tmpp/wp-content$ find . -type d | grep -Pv '20\d{2}' | tail -n +2 | xargs rm -rf

再次显示树

[email protected]:~/tmpp/wp-content$ ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/   /' -e 's/-/|/'
   .
   |-2015
   |---keep2
   |---keep3
   |-2016
   |---keep1
   |---keep2

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Linux命令删除除.git文件夹以外的所有文件?

如何删除文件夹中的所有文件,而不使用NIX标准库删除文件夹?

如何删除Android上一个文件夹中的所有文件和文件夹

强制删除文件夹中的所有文件

使用PHP从文件夹中删除所有文件?

如何.gitignore文件夹中的所有文件/文件夹,而不是文件夹本身?

删除Python中除最新文件夹以外的所有文件夹

从git历史记录中删除除某些文件夹以外的所有文件夹

如何使用python删除文件夹中的所有文件夹?

Linux:如何删除文件夹中除具有特定名称的文件以外的所有文件?

如何删除具有许多子文件夹的主文件夹中的所有文件?

如何删除所有文件/文件夹,但将根文件夹保留在C#中

如何最好地删除文件夹及其子文件夹中的所有文件

删除文件夹中除文件X,Y和Z以外的所有文件

删除文件夹及其子文件夹中的所有文件

删除文件夹中的所有文件和文件夹,以结尾的文件和文件夹为准

使用批处理删除文件夹中除列表中的文件以外的所有文件

如何删除文件夹XXX中的所有文件

删除我的文件夹中的所有.gitignore文件

如何使用PowerShell从文件夹和所有子文件夹中删除所有访问规则?

删除文件夹中除具有特定名称的文件夹外的所有文件夹

如何删除除父文件夹下的某些特定文件夹以外的所有文件

如何删除文件夹中除最新X子文件夹以外的所有子文件夹?

如何从文件夹中删除所有文件?

从递归文件夹中删除所有zip文件

如何删除除某些特定文件(目录中的许多文件夹)以外的所有文件?通过 bash 脚本

如何删除文件夹中的所有目录

删除firebase文件夹中的所有文件?

(批量)如何递归删除目录中除以.开头的文件/文件夹之外的所有文件/文件夹?