sed之添加空行

时间:2024-02-25 22:26:01

一、每行前后添加空行

1.每行后面添加一行空行:

  sed  G  tmp

 每行前面添加一行空行:

  sed  ‘{x;p;x;}’ tmp

2.每行后面添加两行空行:

  sed  ‘G;G’  tmp

 每行前面添加两行空行:

  sed \'{x;p;x;x;p;x;}\' tmp

3.每行后面添加三行空行:

  sed  ‘G;G;G’  tmp

  每行前面添加三行空行:

  sed \'{x;p;x;x;p;x;x;p;x}\' tmp

依次类推,添加几行空行,就有几个G或者x;p;x

二、如果行后有空行,则删除,然后每行后面添加空行

sed  \'/^$/d;G\'  tmp

三、在匹配行前后添加空行

sed \'/shui/G\' tmp  如果一行里面有shui这个单词,那么在他后面会添加一个空行

sed \'/shui/{x;p;x;G}\' tmp 如果一行里面有shui这个单词,那么在他前后各添加一个空行

sed \'/shui/{x;p;x;}\' tmp 如果一行里面有shui这个单词,那么在他前面添加一个空行

sed ‘1{x;p;x;}’ tmp 在第一行前面添加空行,想在第几行,命令中的1就改成几

sed ‘1G’ tmp 在第一行后面添加空行,想在第几行,命令中的1就改成几

四、每几行后面添加一个空行

1.每两行后面增加一个空行

  sed \'N;/^$/d;G\' file.txt

 每两行前面添加一个空行

  sed  \'N;/^$/d;{x;p;x;}\'  tmp

2.每三行后面增加一个空行

  sed \'N;N;/^$/d;G\' file.txt

  每三行前面增加一个空行

  sed \'N;N;/^$/d;{x;p;x;}\'  tmp

五、以x为开头或以x为结尾的行前后添加空行

1.以xi为开头的行后面添加空行

 sed  \'/^xi/G;\'  tmp

 以xi为结尾的行前面添加空行

 sed  \'/^xi/{x;p;x;}\'  tmp

2.xi为结尾的行后面添加空行

 sed  \'/xi$/G;\' tmp

 以xi为结尾的行后面添加空行

 sed  \'/xi$/{x;p;x;}\' tmp

如果有错误的地方,麻烦各位帮忙指正,谢谢!