在指定行前后插入指定内容

2017/07/13 linux

shell在指定行前后插入指定内容

如果知道行号可以用下面的方法

sed -i '88 r b.file' a.file    #在a.txt的第88行插入文件b.txt
awk '1;NR==88{system("cat b.file")}' a.file > a.file
 
如果不知道行号,可以用正則匹配
sed -i '/regex/ r b.txt' a.txt # regex是正则表达式
awk '/target/{system("cat b.file")}' a.file > c.file
 
sed的話如果不改变源文件,可以去掉-i开关,修改会输出到STDOUT

hello world 与1.txt的内容合并后显示 cat - 1.txt «< “hello word”

2.txt文件内容追加到1.txt的内容的开始部分,输出到output cat - 1.txt < 2.txt > output


Search

    Table of Contents