sed 在匹配行前后添加内容

sed 在匹配行前后添加内容,第1张

1、行前加

i 插入内容 sed ‘/匹配词/i\要加入的内容’ example.file 将内容插入到匹配的行目标的上一行位置)

2、行后加

a 追加内容 sed ‘/匹配词/a\要加入的内容’ example.file(将内容追加到匹配的目标行的下一行位置)

#!/usr/bin/perl

$file = shift

$matched = 0

$newFile = "balabalabala_tmp"

die "usage: ./test.pl filename\n" if !defined $file

open FD, "<$file" or die "can't open $file:$!"

open TMP, ">$newFile"

select TMP

while(<FD>) {

      $line = $_

      if(!$matched &&/nameserver/) {

              print "nameserver 8\n"

              $matched = 1

      }

      print $line

}

close FD

close TMP

unlink $file

rename $newFile, $file

file:

aaaa

bbbb

cccc

bbbb

dddd

命令:

row=`sed "/bbbb/=" file | sed -n "1"p`

sed "${row}i\fulinux" file


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11704070.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存