shell之sed

2019-03-12  本文已影响0人  一个人一匹马

sed是一种流编辑器,它一次处理一行内容。
处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”,
接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。
接着处理下一行,这样不断重复,直到文件末尾。
文件内容并没有改变,除非你使用重定向存储输出。

基本用法
sed [选项参数] ‘command’  filename
选项参数
-e  直接在指令列模式上进行sed的动作编辑。
命令功能
a  新增,a的后面可以接字串,在下一行出现
d  删除
s  查找并替换
案例实操

数据准备

touch sed.txt
vim sed.txt
dong shen
guan zhen
wo  wo
lai  lai

le  le

将“he he”这个单词插入到sed.txt第二行下,打印。

sed '2a he he' sed.txt

dong shen
guan zhen
he he
wo  wo
lai  lai

le  le

cat sed.txt

dong shen
guan zhen
wo  wo
lai  lai

le  le

注意:文件并没有改变

删除sed.txt文件所有包含wo的行

sed '/wo/d' sed.txt

dong shen
guan zhen
lai  lai

le  le

将sed.txt文件中wo替换为ni

sed 's/wo/ni/g' sed.txt

dong shen
guan zhen
ni  ni
lai  lai

le  le

注意:‘g’表示global,全部替换

将sed.txt文件中的第二行删除并将wo替换为ni

sed -e '2d' -e 's/wo/ni/g' sed.txt

dong shen
ni  ni
lai  lai

le  le
上一篇下一篇

猜你喜欢

热点阅读