首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在扩展名之前查找大写字母的文件,在扩展名中查找小写字母。

在扩展名之前查找大写字母的文件,在扩展名中查找小写字母。
EN

Ask Ubuntu用户
提问于 2017-11-06 12:35:40
回答 1查看 6.5K关注 0票数 5

我需要在远程位置(/mnt/)查找文件,并警告某个文件名是否符合以下条件:

  1. 文件名必须只包含大写字母或数字。
  2. 文件扩展名必须只包含小写字母。

消极的方式也会起作用。

示例:

如果-文件名包含小写字母和/或扩展名包含大写字母

然后-回声警报

EN

回答 1

Ask Ubuntu用户

发布于 2017-11-06 12:42:15

使用find搜索文件:

代码语言:javascript
复制
find . -regex ".*/[A-Z0-9]+\.[a-z]+"

这将在当前目录(.)中执行搜索,并递归地遍历子目录。

  • [.*/]覆盖文件路径
  • [A-Z0-9]代表从A到Z的每一个字母(包括@vidarlo中提到的by )和从0到9的每一个数字
  • +与前面的字符或表达式匹配一次或多次
  • \.是一个文字点
  • [a-z]代表从a到z的每一个字母

对于某些特殊字符,可能需要使用例如[[:upper:]]

代码语言:javascript
复制
find . -regextype egrep -regex ".*/[[:upper:][:digit:]]+\.[[:lower:]]+"

编辑的问题

要将find的S测试结合起来,就有-a-o,对于您的示例来说,这可能会有所帮助:

代码语言:javascript
复制
find /mnt/ \( -name "*[a-z]*.*" -o -name "*.*[A-Z]*" \) -exec echo {} +
票数 9
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/973506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档