sed 命令给指定文件的某行添加特定字符
一、需求:需要给某个机器的某个文件的指定行添加一些 字符
二、处理过程:
1.某行字符较少的话可以使用替换的方法,如下:
$ sed -i.bak '10 s#netmask#aaaaaaaaaaaa#' file
表示对第10行 进行替换
2.某行字符太长的话,使用sed 命令可以实现指定行添加一些 字符,如下:
$ sed -i.bak '124 s/^.\{20\}/&or 10.10.10.10 /g' file # or 10.10.10.10 是一个整体
$ sed -i.bak ' /^line1/,/^line3/,s/^.\{20\}/&welcome to china /g' file
解释一下这个命令的参数:
a、-i.bak 表示直接对原文件进行编辑的同时做备份;
b、/^line1/,/^line3/表示以line1开头的行,到以line3开头的行之间的范围进行操作;
3、s###是替换一次。s###g 是符合条件的都替换(#是分隔符号,可以使用任意的特殊符号,如+ / @ 等等,),^.\{20\}是从开头的第一个字符到第20个字符,&代表在后方添加,后面的welcome to china就是添加的字符;
4、file 表示要处理的文件名。