我有一个包含很多单词的文本文件。我需要找到长度为 3 个字母或 8 个字母的单词。我可以使用以下命令分别找到 3 和 8 个字母的单词。如何将结果合并到一个输出中?
grep -E '^.{3}$' words | wc -w
grep -E '^.{8}$' words | wc -w
最佳答案
另一种方式是:
grep -E '^(.{3}|.{8})$'
将其他方式放在一起:
grep -E '^.{3}$|^.{8}$'
grep -E -e '^.{3}$' -e '^.{8}$'
检查这个:Alternation with The Vertical Bar or Pipe Symbol
一个例子:
$ 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
关于regex - Linux 命令 - 查找长度为 3 个或 8 个字母的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54856632/