我有一个包含很多单词的文本文件。我需要找到长度为 3 个字母或长度为 8 个字母的单词。我可以使用以下命令分别找到 3 个和 8 个字母的单词。如何将结果合并为一个输出?
grep -E '^.{3}$' words | wc -w
grep -E '^.{8}$' words | wc -w
Run Code Online (Sandbox Code Playgroud)
另一种方式是:
grep -E '^(.{3}|.{8})$'
Run Code Online (Sandbox Code Playgroud)
并将其他方式放在一起:
grep -E '^.{3}$|^.{8}$'
grep -E -e '^.{3}$' -e '^.{8}$'
Run Code Online (Sandbox Code Playgroud)
检查这个:与垂直条或管道符号交替
一个例子:
$ cat file
orange
banana
who
what
we
eat
buzzkill
find
$ grep -E '^(.{3}|.{8})$' file
who
eat
buzzkill
$ grep -E '^.{3}$|^.{8}$' file
who
eat
buzzkill
$ grep -E -e '^.{3}$' -e '^.{8}$' file
who
eat
buzzkill
Run Code Online (Sandbox Code Playgroud)