Cygwin中的Grep正则表达式

时间:2012-07-28 04:04:29

标签: regex grep

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

要做到这一点,我正在使用:

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

但是这也会返回不同大小和大于9的单词。

我甚至将环境变量LC_ALL设置为C.

我能够完成这项工作:

cat filename.txt | grep -P“^ [a-z] * [a-z] $”

这只显示带小写字母的单词。

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

1 个答案:

答案 0 :(得分:1)

尝试

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

^ =字符串的开头

     

$ =字符串结尾

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