试图找出如何在多行中编写命令,因为真正的命令是为了提示(4200个字符),所以我尝试了这个例子:
制作一个包含以下3行的测试文件:
some thing
some
thing
当我这样做时:grep "some thing" test
我得到了预期的结果:
some thing
但是,当我这样做时:grep "some \
thing" test
我得到了意想不到的结果:
some thing
thing
几乎就像两次运行grep一样,一次用于“some”而一次用于“thing”。有没有办法正确使用\
将2结合到第一个grep的结果?
答案 0 :(得分:3)
而不是 grep ,您必须使用 pcregrep ,然后您才能通过 -M 选项在模式中使用新行。
在您的示例中,它将是:
pcregrep -M 'some\nthing' test
答案 1 :(得分:1)
使用-zPo可以使grep表现为多语言:
grep -zPo 'some\nthing' test
答案 2 :(得分:0)
所以看起来这样做了:
grep "some \
|thing" test.txt
制作:some thing
与grep "some thing" test.txt