免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3320 | 回复: 8
打印 上一主题 下一主题

[文本处理] shell 脚本中if用法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-01-11 10:28 |只看该作者 |倒序浏览
如何用if来判断 一个文本中是否包含指定内容

我用下面的方法貌似不行

abc=`cat /home/abc.conf | grep 'abc'`

if [ -z "$abc" ]
then
      cat >> /home/abc.conf <<EOF
abc
edf
EOF
fi


我测试了下貌似不行。。。不知道怎么解决了

论坛徽章:
3
CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2014-03-27 15:44:382015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2013-01-11 10:49 |只看该作者
用-n试试呢

论坛徽章:
0
3 [报告]
发表于 2013-01-11 10:53 |只看该作者
  1. (cat /home/abc.conf | grep 'abc')&&echo "exist!!" || echo "Error.No exist"
复制代码
试试这个

论坛徽章:
0
4 [报告]
发表于 2013-01-11 11:17 |只看该作者
本帖最后由 z421941982 于 2013-01-11 11:18 编辑

回复 1# xiaoyawl

楼主的写法看不出有什么问题, 运行不了的话,最好贴一下运行出错的代码.
试试这个:
  1. if ! grep -q 'abc' /home/abc.conf
  2. then
  3.       cat >> /home/abc.conf <<EOF
  4. abc
  5. edf
  6. EOF
  7. fi
复制代码

论坛徽章:
7
数据库技术版块每日发帖之星
日期:2015-08-08 06:20:00数据库技术版块每日发帖之星
日期:2015-08-29 06:20:00数据库技术版块每日发帖之星
日期:2015-08-29 06:20:00数据库技术版块每日发帖之星
日期:2015-09-18 06:20:00数据库技术版块每周发帖之星
日期:2015-11-06 19:56:51数据库技术版块每日发帖之星
日期:2016-01-22 06:20:00数据库技术版块每日发帖之星
日期:2016-02-05 06:20:00
5 [报告]
发表于 2013-01-11 11:19 |只看该作者
  1. a=$(grep abc /home/abc.conf)
  2. if [ x"" = x"$a" ]
  3. then
  4. echo "NO"
  5. else
  6. echo "YES"
  7. fi
复制代码

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
6 [报告]
发表于 2013-01-11 11:31 |只看该作者
我觉得没问题啊,这个脚本的意思是,如果在/home/abc.conf文件中没有查找到包含abc的行,就在该文件的后面追加
abc
edf

论坛徽章:
3
CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2014-03-27 15:44:382015年辞旧岁徽章
日期:2015-03-03 16:54:15
7 [报告]
发表于 2013-01-11 12:52 |只看该作者
我也遇到过-z不灵的时候, 后来反过来用-n 替代了

论坛徽章:
0
8 [报告]
发表于 2013-01-11 13:24 |只看该作者
回复 2# cu_little_bird


    W我也用-N来反试貌似也写入不成功

论坛徽章:
0
9 [报告]
发表于 2013-01-11 13:25 |只看该作者
回复 4# z421941982


    没有出错就是最好写入不成功  我试试你的方法
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP