这里用find命令比较好
格式:find path -option [ -print ] [ -exec -ok command ] {} \;
语句如下
find . -type f -name .\* -exec rm {} \;
假如要删除所有以.abc开头的所有文件,如图
执行命令如下
find . -type f -name .abc\* -exec rm {} \;
结果:
如果要删除某个目录下,所有的以点开头的隐藏文件:
find 目录名 -type f -name .\* -exec rm {} \;
如果要删除某个目录及其子目录(find默认就是递归的)下,所有以html结尾的命令
find . -type f -name "*.html" -exec rm {} \;
如果找到所有文件名内包含“res”的文件,并统计符合所有带res字符串的文件个数(468为标准答案)
find . -type f -name '*res*' | wc -l
源目录结构如图:
总共936,带res的占一半
执行命令后,结果如果为468则命令准确
扩展:如果要找到后批量移动怎么办?
find . -type f -name '*res*' -exec mv {} ../imgRes \;
找到匹配的文件后,批量移动到../imgRes 下面,上一级目录的imgRes下面