我从来没有能够在Cygwin中使用正则表达式来为我工作 这是一些背景信息: -find(GNU findutils)4.5.12 我的目录中有以下文件:
-rw-rwxr--+ 1 None 0 Jun 4 19:16 eiooo.txt
-rw-rwxr--+ 1 None 0 Jun 4 19:20 g.py
-rwxrwx---+ 1 None 96 Jun 4 16:03 giibblejklxx_ekkwll.py
-rw-rwxr--+ 1 None 0 Jun 4 19:16 huuu.txt
-rw-rwxr--+ 1 None 20 Jun 4 19:17 more
-rw-rwxr--+ 1 None 0 Jun 4 19:20 v.py
我想匹配结尾为pys的字符串。
我尝试以下方法:
find -name "*py$"
我一无所获。
我也试试:
find -regex "*.py$"
什么也没得到。
我正确使用正则表达式吗?据我所知,“$”的意思是“以...结尾”。真的吗?我知道在这种情况下我可以留下美元符号,但我想练习不同类型的正则表达式,而“$”(和“^”实际上)似乎永远不会使用find命令。
有什么建议吗?谢谢。
答案 0 :(得分:1)
-name
和-iname
使用globs,而不是正则表达式。如果正则表达式无效,-regex
和-iregex
将为false。另请注意,-regex
和-iregex
会尝试匹配整个路径,而不仅仅是文件名。