求一个shell脚本:实现判断一个文件是否包含某内容,如果包含,刚删除所在的行(或替换该行);如果

求一个shell脚本:实现判断一个文件是否包含某内容,如果包含,刚删除所在的行(或替换该行);如果不包含该内容,则添加。新手求详细注释,谢谢大神了!... 求一个shell脚本:实现判断一个文件是否包含某内容,如果包含,刚删除所在的行(或替换该行);如果不包含该内容,则添加。新手求详细注释,谢谢大神了! 展开
 我来答
浮生难忆
2013-11-25 · TA获得超过920个赞
知道小有建树答主
回答量:571
采纳率:50%
帮助的人:690万
展开全部
#!/bin/bash
read -p "请输入目的内容:"  varchar
grep "$varchar" filename && sed -i "/$varchar/d" filename || echo $varchar >>filename
exit

 

详细解释:

第1行:申明/解释脚本用的是bash

第2行:用read读取你输入的内容,然后复制给varchar

第3行:在文件filename中查找刚刚你输入的内容,&&表示如果找到了内容就执行后面的命令,||表示如果没找到则执行后面的内容;那么完整解释就是,当前面查找到你输入的内容时,则执行sed -i "***/d" 删除命令,而没有查找到则执行||后面的追加内容命令。

 第4行:退出脚本

 

Ps:filename需要改成你说的那个文件的名字及路径。

更多追问追答
追问
能给注释下么?谢谢了
#!/bin/bash

read -p "请输入目的内容:" varchar (这里是在赋值变量吗?)

grep "$varchar" filename (搜索文本)&& (&什么作用?跟前面有关联没有?)sed -i "/$varchar/d" filename(看不懂。。) ||(俩竖线什么意思?) echo $varchar >> filename
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式