Linux下如何用grep提取@开头900结尾内容的中间文本?
解决方案
调整后的命令
grep -Po '@\s*\K.*?(?=900)' demo.txt
正则说明
@\s*:匹配起始标识@及后续可能存在的任意空白字符\K:舍弃此前匹配到的所有内容,不纳入最终输出.*?:非贪婪匹配任意字符,确保只会匹配到最近的900标识前的内容(?=900):Perl正则正向预查语法,仅匹配位置紧挨900之前的内容,不会将结束标识900纳入输出结果
输出验证
执行上述命令后,输出结果与预期完全一致:
1234 1345 678
内容的提问来源于stack exchange,提问作者Mainland
相关产品推荐
相关产品推荐

