一.附加文本
使用a\在指定行后面附加1行或多行;若不指定放置的位置,则默认放到每一行的后面。
附加文本时,不允许指定范围,只允许一个地址模式。
附加格式:
[address] a\
text\
text\
...
text
注意:
1.a\通知sed对a\后面的内容进行附加操作。
2.每行后面都有"\",当sed执行到\时,将创建一个新行,并将内容添加进去。
3.最后一行不能有"\"。
例子:
如果将附加的第一行最后的"\"去掉,那么运行脚本将会报错。
pg append.sed
#!bin/sed -f
# append text
/company/ a\
Then suddenly it happened.
_yeeXun.
执行之后:
sed -f append.sed quote.txt
sed: Unrecognized command: _yeeXun.
修改之后
pg append.sed
#!bin/sed -f
# append text
/company/ a\
Then suddenly it happened.\
_yeeXun.
执行脚本:
sed -f append.sed quote.txt
The honeysuckle band played all night long for noly $90.
It was an evening of splendid music and company.
Then suddenly it happened.
_yeeXun.
Too bad the disco floor fell through at 23:10.
The local nurse Miss P.Neave was in attendance.
因为sed不与原文件打交道,编辑的只是其一个拷贝,所以我们附加的数据不会写到文件中;
当执行上面的命令之后,我们查看下quote.txt文件:
pg quote.txt
The honeysuckle band played all night long for noly $90.
It was an evening of splendid music and company.
Too bad the disco floor fell through at 23:10.
The local nurse Miss P.Neave was in attendance.
二.修改文本
使用c\修改指定行,格式:
[address[,address]] c\
text\
text\
...
text
address:行位置,可以使用正则表达式定位,也可以直接指定行号。
text:为替换的文本,注意最后一行没有"\"。
例子
替换第三行数据:
pg change.sed
# change date
/bad/ c\
[Two good.]\
next goods.
运行脚本:
sed -f change.sed quote.txt
The honeysuckle band played all night long for noly $90.
It was an evening of splendid music and company.
[Two good.]
next goods.
The local nurse Miss P.Neave was in attendance.
使用sed对文件进行操作
内容版权声明:除非注明,否则皆为本站原创文章。