Linux如何使用find命令删除多个文件?
我有一个文件树,如:Linux如何使用find命令删除多个文件?,linux,ubuntu,find,Linux,Ubuntu,Find,我有一个文件树,如: . ├── 1 ├── 2 ├── 3 ├── a.txt ├── b.txt └── c.csv 现在,我使用命令: find . ! -name "*.txt" -delete 我可以删除排除*.txt 但是现在,我还需要导出c.csv 基于此,我尝试了以下命令: find . ! -name "*.txt|*.csv" -delete 但不幸的是,该命令会删除所有文件和文件夹 那么,如何排除多个*.XXX?复制名称谓词: find . ! -name "*.tx
.
├── 1
├── 2
├── 3
├── a.txt
├── b.txt
└── c.csv
现在,我使用命令:
find . ! -name "*.txt" -delete
我可以删除排除*.txt
但是现在,我还需要导出c.csv
基于此,我尝试了以下命令:
find . ! -name "*.txt|*.csv" -delete
但不幸的是,该命令会删除所有文件和文件夹
那么,如何排除多个*.XXX?复制名称谓词:
find . ! -name "*.txt" ! -name "*.csv" -delete
这是无效的:
find . ! -name "*.txt|*.csv" -delete
这是正确的写作方式(好吧,是一种相当正确的方式):
“查找并删除所有未命名为*.txt或*.csv的文件”De Morgan会怎么说我们的两个文件solutions@Shloim:我输入了“同等正确的方法之一”:D
find . ! "(" -name "*.txt" -o -name "*.csv" ")" -delete