什么正则表达式可以与 grep 和标志 -E 一起使用,以显示仅包含奇数个字符的文本文件中的行?

什么正则表达式可以与 grep 和标志 -E 一起使用,以显示仅包含奇数个字符的文本文件中的行?

我正在尝试使用 grep 搜索文本文件并显示仅包含奇数个字符的行。我需要使用以下命令:

grep -E 'some regex' filename.txt

但我不知道如何正确格式化正则表达式。

答案1

使用^.(..)*$

解释:

^           # beginning of line
  .         # any character but newline
  (..)*     # group 1, 2 any character, 0 or more times
$           # end of line

实际操作:

~$cat file.txt
1
12
123
1234
12345
123456

~$grep -E '^.(..)*$' file.txt
1
123
12345

相关内容