我想要获得与该模式匹配的每一行:
- 某物
- 某个地方
- 某处
来自/data/rawlog.txt
我尝试了这个命令,但是失败了:
grep -e "[something|someplace|somewhere]" /data/rawlog.txt
有谁知道出了什么问题吗?
答案1
首先,你不需要括号。其次,你需要扩展正则表达式或转义管道。以下方法之一应该有效:
egrep -e "something|someplace|somewhere" /data/rawlog.txt
grep -e "something\|someplace\|somewhere" /data/rawlog.txt
如果要在叉子外面放置一些东西,请不要忘记对其进行分组。例如,如果您希望这些模式仅出现在行尾:
egrep -e "(something|someplace|somewhere)$" /data/rawlog.txt
请注意,括号也需要 egrep 或转义。