想象一下,我有一个具有以下类型行的文件:
FIXED_DATA1 VARIABLE_DATA FIXED_DATA2
我想更改固定数据并保留变量数据。 由于各种原因,使用两个sed操作来替换固定数据将无法正常工作。例如,固定字段可能是双引号,并且该行包含其他区域,因此实际上写入正则表达式以匹配变量数据和固定数据中的模式。
如果我倾向于使用sed,有没有办法一次更改两个固定数据字段,同时保持变量字段不变?
感谢。
答案 0 :(得分:4)
你需要将线条划分为三个部分,替换外面的两个部分,然后单独留下中间部分:
sed 's/^FIX1 \(.*\) FIX2$/New \1 End/'
您可以根据需要使开头和结尾匹配更复杂。