在Linux中替换文件的内容

时间:2014-11-02 08:22:47

标签: linux shell vim sed

我在Red Hat Linux机器上,需要在文件中应用以下内容:

这就是我所拥有的:

42506F0BB83839

需要改变如下:

^S:CELL:42506F0BB83839.*$       WM_PLUTO

其中WM_PLUTO是制表符分隔的。 通常我用vim编辑文件并应用

之类的东西
:%s /^4250/\^S:CELL:lost from this point on

怎么做? 请注意,我有多条这样的行,它们都有修复部分42506F0BB8,最后4位数字会改变而且不能重复,它们不是唯一的行,还有其他不同的细节。 因此,需要检测行中的所有修复部分和aplly替换。

2 个答案:

答案 0 :(得分:1)

只需用&替换“从此处丢失”。在替换中,&将替换为匹配的内容。

:%s /^4250.*/\^S:CELL:&.*$<tab>WM_PLUTO

答案 1 :(得分:0)

您可以尝试:

sed 's/42506F0BB8..../\^S:CELL:&\.\*\$\tWM_PLUTO/' file