列出名称以大写字母或特定数字(例如 3)开头的文件

列出名称以大写字母或特定数字(例如 3)开头的文件

我想列出名称以大写字母或特定数字(例如 3)开头的文件。

我尝试过类似的东西

ls ~/etc/[[:upper:]][3].* 

但无法正常工作。

答案1

您的模式与主目录中的子目录中以大写字母开头、后跟字符和点的~/etc/[[:upper:]][3].*任何名称相匹配。etc3

子模式仅[3]匹配3, ,我假设您已将其用作.*正则表达式,可能吗?该.*正则表达式或多或少与*文件名通配模式中的相同(shell 不使用正则表达式进行通配)。作为通配模式,.*将匹配以点开头的子字符串。

~/etc/A3.txt例如,路径名将与您的原始模式匹配,而~/etc/A3不会匹配,因为它缺少3.

如果您想匹配~/etc以大写字母或字符 开头的文件3,请使用模式

~/etc/[[:upper:]3]*

相关内容