使用awk更改与定界符之间的模式匹配的线
||
我有一个类似这样的输入文件:
some line
some other line
another line
start_delimiter
interesting stuff
more interesting stuff
even more interesting stuff
end_delimiter
possibly more stuff
我想操纵start_delimiter和end_delimiter之间与正则表达式模式匹配的行,并将结果写入输入文件。例如,将\'// \'添加到包含单词''more \'的行的开头(只要这些行在定界符之间):
some line
some other line
another line
start_delimiter
interesting stuff
//more interesting stuff
//even more interesting stuff
end_delimiter
possibly more stuff
我可以这样在分隔符之间获取文本部分:
awk \'/start_delimiter/,/end_delimiter/\' inputfile
如果将其通过管道传输到另一个awk,则可以更改我感兴趣的行:
awk \'/more/ {sub(/^/,\"//\")}1\'
我不确定的是如何返回并用新内容替换定界部分。有任何想法吗?一线制的奖励积分。
没有找到相关结果
已邀请:
3 个回复
甲车劲
社攻取墟槽
如果行定界符嵌入行中间,则增加了行“ 6”锚点的开头,以避免混淆。
慷祈霖黑
第二个范围模式是打印超出范围的其他行(由前导\!指定)(我目前无法测试它,因此请尝试移动\'!\ '周围,如果它不能像这样) 我希望这有帮助。