繁体   English   中英

如何在linux中删除文件名全部为大写的文件?

[英]How to remove files with filenames all in uppercase in linux?

假设我有一个包含以下文件的目录:

ls

ABC BCD CDE DEF abc bcd cde def Abc

如何删除所有文件名全部为大写的文件? (在这种情况下删除ABC BCD CDE DEF

使用 GNU 查找:

find . -maxdepth 1 ! -name '*[![:upper:]]*' -delete

请注意,这不会下降到子目录中,也不会删除文件名全部为大写的非空目录。

shopt -s extglob
rm ./!(*[![:upper:]]*)

这首先启用bash扩展通配模式,然后使用扩展通配模式./!(*[![:upper:]]*)匹配当前目录中不包含任何非大写字符的所有名称(即仅大写字符)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM