【发布时间】:2014-11-05 14:52:07
【问题描述】:
我尝试使用 sed 将 2 行模式中的一个单词替换为另一个单词。当在一行中找到模式'MACRO“something”'时,然后在下一行中将'BLOCK'替换为'CORE'。 “某物”将被放入参考并打印出来。
我的输入数据:
MACRO ABCD
CLASS BLOCK ;
SYMMETRY X Y ;
期望的结果:
MACRO ABCD
CLASS CORE ;
SYMMETRY X Y ;
到目前为止我在 sed 中的尝试:
sed 's/MACRO \([A-Za-z0-9]*\)/,/ CLASS BLOCK ;/MACRO \1\n CLASS CORE ;/g' input.txt
上面的方法没有给出消息:
sed: -e expression #1, char 30: unknown option to `s'
我错过了什么?
我也对 perl 中的单行解决方案持开放态度。
谢谢, 格特
【问题讨论】:
-
所以您想在修改文件的同时将“ABCD”发送到
stdout?
标签: perl sed substitution