Sed部分更换?

时间:2011-07-19 15:14:19

标签: sed awk gawk

想象一下,我有一个具有以下类型行的文件:

FIXED_DATA1 VARIABLE_DATA FIXED_DATA2

我想更改固定数据并保留变量数据。 由于各种原因,使用两个sed操作来替换固定数据将无法正常工作。例如,固定字段可能是双引号,并且该行包含其他区域,因此实际上写入正则表达式以匹配变量数据和固定数据中的模式。

如果我倾向于使用sed,有没有办法一次更改两个固定数据字段,同时保持变量字段不变?

感谢。

1 个答案:

答案 0 :(得分:4)

你需要将线条划分为三个部分,替换外面的两个部分,然后单独留下中间部分:

sed 's/^FIX1 \(.*\) FIX2$/New \1 End/'

您可以根据需要使开头和结尾匹配更复杂。