sed 命令给指定文件的某行添加特定字符

Posted lanbojini

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sed 命令给指定文件的某行添加特定字符相关的知识,希望对你有一定的参考价值。

一、需求:需要给某个机器的某个文件的指定行添加一些 字符

二、处理过程:

1.某行字符较少的话可以使用替换的方法,如下:

$ sed -i.bak ‘10 s#netmask#aaaaaaaaaaaa#‘ file 

 表示对第10行 进行替换

2.某行字符太长的话,使用sed 命令可以实现指定行添加一些 字符,如下:

$ sed -i.bak ‘124 s/^.{20}/&or 10.58.198.20 /g‘ file

$ 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 表示要处理的文件名。

以上是关于sed 命令给指定文件的某行添加特定字符的主要内容,如果未能解决你的问题,请参考以下文章

linux下向一个文件中的某行插入数据的做法

fortran如何读入文本文件中的某行的指定部分

sed扩展

sed多行模板替换

unix sed怎么给每行前添加字符“/” 如果添加HEAD的话正常,但是要添加的文本是URL的话

sed 怎样在文本里指定位置插入字符