在行尾添加一个字符以进行匹配

时间:2011-11-08 09:15:47

标签: linux replace suse

我有一堆文件包含'cycles = 1000','cycles = 1500'之类的行等等(=之后的数字因文件而异)。

我的要求是:我只需要在文件的这些行中添加尾随零。

我希望文件中还有其他行不受影响。

有人可以帮我吗?

-Giri

2 个答案:

答案 0 :(得分:3)

尝试使用sed命令:

cat file.txt | sed 's/cycles=[0-9]*/&0/g'

编辑: 如果需要,您可以将这些行开始和结束匹配的内容添加到命令:

cat koe.txt | sed 's/^cycles=[0-9]*$/&0/g'

答案 1 :(得分:0)

假设您使用的是具有良好文本处理工具的环境(如UNIX,Linux或带有CygWin的Windows),您可以使用awk执行此操作,如下所示:

pax$ echo 'cycles=1000
notcycles=25
cycles=1500
something else again' | awk '/^cycles=/ {$0 = $0 "0"} {print}'

cycles=10000
notcycles=25
cycles=15000
something else again

基本上,以文字cycles=开头的所有行都会附加0

然后输出(修改与否)行。