正则表达式查找命令cygwin?

时间:2015-06-05 02:54:57

标签: regex linux unix find cygwin

我从来没有能够在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命令。

有什么建议吗?谢谢。

1 个答案:

答案 0 :(得分:1)

-name-iname使用globs,而不是正则表达式。如果正则表达式无效,-regex-iregex将为false。另请注意,-regex-iregex会尝试匹配整个路径,而不仅仅是文件名。