我已经在字符串
中声明了一个带有两个换行符的字符串somestring = $'\ n ##### Branch FREEZE启用/禁用\ n发布:'
我有一个带有文本的$文件,如下所示
###############################
##### Branch RELEASE enable/disable
Release: disable
##### Branch FREEZE enable/disable
Freeze: disable
##### Mail list #####
我试图找出,如果内部有一个字符串,两个新行都带有命令
如果grep -q“$ somestring”“$ file”;然后 echo“找到了字符串”
但是当字符串中有换行符时,结果总是正面的。
如何使用内联换行符使其正常工作?
答案 0 :(得分:0)
grep模式与各行匹配,因此模式无法匹配输入中找到的换行符。
尝试使用pcregrep而不是常规的grep:
pcregrep -M "pattern1.*\n.*pattern2" filename
-M选项允许它跨多行匹配,因此您可以搜索换行符\ n。