0

我在 Windows 上使用 Cygwin。我想从名称中恰好包含 9 个字母的文件中提取所有行。

为此,我正在使用:

cat filename.txt | grep -P "[a-z]{9}"

但是,这也会返回大小写不同且长度大于 9 的单词。

我什至将环境变量 LC_ALL 设置为 C。

我能够完成这项工作:

猫文件名.txt | grep -P "^[az]*[az]$"

这仅显示带有小写字符的单词。

请注意,我在 Cygwin 中运行命令,并且我观察到 Cygwin 和 Linux Distro 之间存在某些差异。这些命令的工作方式不同。

4

1 回答 1

1

尝试

cat filename.txt | grep -P "^[a-z]{9}$"

^ = 字符串的开头

$ = 字符串结尾

您的正则表达式返回包含长度为 9 的倍数的小写字母的所有单词。

于 2012-07-28T04:05:56.980 回答