linux下用命令删除文本的一句话
由于写脚本需要修改文本文件里的内容,在网上只搜到linux的一个命令 sed具体用法参数网上有 很多资料,这里只讲一下如何修改和删除内容[root@localhost binbin]#lshello[root@localhost binbin]#cat hellobinbinhahahehehuhu[root@localhost binbin]#sed -i 's/
·
由于写脚本需要修改文本文件里的内容,在网上只搜到linux的一个命令 sed
具体用法参数网上有 很多资料,这里只讲一下如何修改和删除内容
<span style="font-size:18px;">[root@localhost binbin]#ls
hello
[root@localhost binbin]#cat hello
binbin
haha
hehe
huhu
[root@localhost binbin]#sed -i 's/binbin/lichang/g' hello
[root@localhost binbin]#cat hello
lichang
haha
hehe
huhu
</span>
你会发现,文本里的binbin字符串变成了lichang,
sed -i 是将前面的内容(binbin)替换成后面的内容(lichang)
因此,我们用空格的替代字符串,就达到了我们删除字符串的目的
<span style="font-size:18px;">[root@localhost binbin]#cat hello
binbin
haha
hehe
huhu
[root@localhost binbin]#sed -i 's/binbin/ /g' hello
[root@localhost binbin]#cat hello
haha
hehe
huhu
</span>
这时,“binbin”这个字符创就被“ ”代替,效果就是删除了字符串
sed命令里假如有“.”“/”等特殊字符,需要使用"\"进行转义
<span style="font-size:18px;">[root@localhost binbin]#cat hello
binbin
haha
/usr/bin/
/usr/sbin
huhu
[root@localhost binbin]#sed -i 's//usr/bin// /g' hello
sed:-e 表达式 #1,字符 8:“s”的未知选项
[root@localhost binbin]#sed -i 's/\/usr\/bin\// /g' hello
[root@localhost binbin]#cat hello
binbin
haha
/usr/sbin
huhu
</span>
本人使用这个命令是由于项目中,需要使用shell脚本,写入~/.bash_profile 启动命令,将软件设置成开机自启动,
但是在卸载的时候需要将~/.bash_profile 里的启动命令删除掉,故使用sed命令用 空格 代字符串,解决了这样的问题
更多推荐
已为社区贡献5条内容
所有评论(0)