我正在研究aix并希望收到一个名为eg的文件“afilename0729”。但是,该文件是从Windows计算机上载的。我无法控制,有时它会带有名称“AFILENAME0729”。本来我写了一个天真的
ls afilename*
在脚本中找到它。但不是写像
这样的东西find . -name "[aA][fF][iI][lL][eE][nN][aA][mM][eE][01][0-9][0-3][0-9]"
有没有更好的方法呢?
答案 0 :(得分:2)
答案 1 :(得分:2)
您可以使用max
或正则表达式支持使用-iname
来忽略-iregex
中的案例匹配:
find
答案 2 :(得分:1)
如果您使用的是GNU find
,则可以使用不区分大小写的-iname
代替-name
。
来自manpage
:
-iname pattern
:与-name类似,但匹配不区分大小写。例如,模式
fo*
和F??
匹配文件名Foo
,FOO
,foo
,fOo
等。模式{{ 1}}还将匹配名为*foo*
的文件。
答案 3 :(得分:1)
你开始使用ls(仅查看当前目录)。 没有检查数字的简单形式将是
ls | grep -i "afilename*"
您还可以使用带
的正则表达式ls | egrep -i "^afilename[01][0-9][0-3][0-9]"
使用正则表达式时,*不是普通的通配符: 寻找以" a"开头的文件以[0-9]结尾,不要使用
ls | egrep -i "^a*[0-9]$"
但请使用
ls | egrep -i "^a.*[0-9]$"