我正在尝试查找所有名称以大写字母开头的文件。我尝试使用以下命令:
find . -type f -regex '.*\/[A-Z][^/]*'
它只查找小写字母的路径。以下作品:
find . -type f -regex '.*\/[ABCDEFGHIJKLMNOPQRSTUVWXYZ][^/]*'
和:
find . -type f | grep '.*\/[A-Z][^/]*$'
我尝试了的所有不同选项regextype
,但结果相同。
为什么在其中find
包含小写字母[A-Z]
?我以为正则表达式是[a-zA-Z]
。有什么办法可以指定仅大写字母的范围find
吗?
这样可行。你能解释为什么吗?
—
Karl Bielefeldt 2014年
我可以尝试,但是您可能会错过这一点。
—
mikeserv 2014年
为什么要转义斜线(
—
Cristian Ciupitu 2014年
\/
)?您还在使用()找到什么find --version
?
/
仅当您将转义用作分隔符时才需要转义s/foo\/bar/foobar/
。(但通常您可以使用其他定界符:s#foo/bar#foobar#
。)
LC_ALL=C find ...
呢