<ins id='foiu8'></ins>
<span id='foiu8'></span>

    <i id='foiu8'><div id='foiu8'><ins id='foiu8'></ins></div></i>
  1. <tr id='foiu8'><strong id='foiu8'></strong><small id='foiu8'></small><button id='foiu8'></button><li id='foiu8'><noscript id='foiu8'><big id='foiu8'></big><dt id='foiu8'></dt></noscript></li></tr><ol id='foiu8'><table id='foiu8'><blockquote id='foiu8'><tbody id='foiu8'></tbody></blockquote></table></ol><u id='foiu8'></u><kbd id='foiu8'><kbd id='foiu8'></kbd></kbd>

    <acronym id='foiu8'><em id='foiu8'></em><td id='foiu8'><div id='foiu8'></div></td></acronym><address id='foiu8'><big id='foiu8'><big id='foiu8'></big><legend id='foiu8'></legend></big></address>
    <dl id='foiu8'></dl>

    1. <i id='foiu8'></i>

        <fieldset id='foiu8'></fieldset>

        <code id='foiu8'><strong id='foiu8'></strong></code>

          Linux系统中sed命令在文件某行前后添加内容的用法

          • 时间:
          • 浏览:20
          • 来源:124软件资讯网

              linux的sed工具是十分强盛的  ,能很容易的实现在某要害词的前一行或后一行增添内容  。今天在批量修改tomcat的日志时就用到了该功效 。

              一、在某行的前一行或后一行添加内容

              具休操作如下:

              代码如下:

              #匹配行前加

              sed -i '/toxingwang.com/iwww.toxingwang.com' the.conf.file

              #匹配行前后

              sed -i '/toxingwang.com/awww.toxingwang.com' the.conf.file

              而在誊写的时间为便与区分  ,往往会在i和a前面加一个反加一个反斜扛 。代码就酿成了:

              代码如下:

              sed -i '/2222222222/a\3333333333' test.txt

              sed -i '/2222222222/i\3333333333' test.txt

              这就就可以很利便的看出要在某一行前或某一行后加入什么内容 。不外经常我记不住a 、i 谁人是前谁人是后 。我的记法是a = after  ,i = in front  。这样就知道 i 是前  ,a 是后了  。不外官方的man文件里不是这样诠释的  ,man文件里是这样诠释的:

              代码如下:

              a \

              text Append text, which has each embedded newline preceded by a backslash.

              i \

              text Insert text, which has each embedded newline preceded by a backslash.

              而且其可以配合find查找的内容处置惩罚  ,如下:

              代码如下:

              find . -name server.xml|xargs sed -i '/directory/i '

              二、在某行(指详细行号)前或后加一行内容

              代码如下:

              sed -i 'N;4a\ddpdf' a.txt

              sed -i 'N;4i\eepdf' a.txt

              这里指定的行号是第四行  。

              三、删除指定行的上一行或下一行

              #删除指定文件的上一行

              代码如下:

              sed -i -e :a -e '$!N;s/.*n(.*directory)/1/;ta' -e 'P;D' server.xml

              #删除指定文件的下一行

              sed -i '/pattern="%/{n;d}' server.xml

              这个写起来有点长  ,一样平常若是不是shell里的需要  ,我更喜欢用vim行止理  。另外需要注重的是 ,在vim里若是替换的内容里tab这样的符号是需要在编辑模式下划分按ctrl+v 和crtl+I ,而不是一直的几个空格 。