当前位置: 技术问答>linux和unix
如何写这样的一个Shell:删除一个文件中某关键字所在的行,然后在这行插入新的文本。
来源: 互联网 发布时间:2014-11-26
本文导语: 用sed好像能实现,可我不太会用,哪位大侠能给一个例子,用其它方法也可以,先谢了! | sed -e 's/^.*bee.*$/I am a boy/' yourfile > yourfile.tmp -e:直接执行命令 s:模式匹配后替换,将能匹配.*bee....
用sed好像能实现,可我不太会用,哪位大侠能给一个例子,用其它方法也可以,先谢了!
|
sed -e 's/^.*bee.*$/I am a boy/' yourfile > yourfile.tmp
-e:直接执行命令
s:模式匹配后替换,将能匹配.*bee.*的行用I am a boy替换。
.匹配任意字符,*表示零个或多个,.*表示匹配任意多个任意字符
^为行首,$为行尾
^.*bee.*$匹配带关键字bee的行
sed参见
http://www.oldhand.org/article/200203/20020300000238_1.xml
-e:直接执行命令
s:模式匹配后替换,将能匹配.*bee.*的行用I am a boy替换。
.匹配任意字符,*表示零个或多个,.*表示匹配任意多个任意字符
^为行首,$为行尾
^.*bee.*$匹配带关键字bee的行
sed参见
http://www.oldhand.org/article/200203/20020300000238_1.xml
|
用sed可以实现,好比关键字是bee,要插入新行为I am a boy.可以写sed脚本:
脚本内容:
# change.sed
/bee/ c
I am a boy
运行:
$chmod u+x change.sed
$change.sed yourfilename
就将你想要删除的行替换成了新行
脚本内容:
# change.sed
/bee/ c
I am a boy
运行:
$chmod u+x change.sed
$change.sed yourfilename
就将你想要删除的行替换成了新行