关于文本的判断 求助呀

sh/bash/dash/ksh/zsh等Shell脚本
回复
zeng8809
帖子: 19
注册时间: 2010-07-06 23:58
送出感谢: 2 次
接收感谢: 0

关于文本的判断 求助呀

#1

帖子 zeng8809 » 2012-03-28 16:10

有2个日记文本,
一个是a.log:
hello
..........
..........
error:.........
另一个是b.log:
hello
..........
..........
complete.......
其中日记中error表示有错
想请教怎么用if...else...语句根据文本中有无error这一行输出right和wrong呢?只输出right或者wrong,没额外输出。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

Re: 关于文本的判断 求助呀

#2

帖子 eexpress » 2012-03-28 16:15

cat x.log|grep 'error' && echo right || echo wrong
● 鸣学
头像
枫叶饭团
论坛版主
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
送出感谢: 1 次
接收感谢: 132 次
联系:

Re: 关于文本的判断 求助呀

#3

帖子 枫叶饭团 » 2012-03-28 16:17

直接用grep搜索error。。。用[]判断。
头像
枫叶饭团
论坛版主
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
送出感谢: 1 次
接收感谢: 132 次
联系:

Re: 关于文本的判断 求助呀

#4

帖子 枫叶饭团 » 2012-03-28 16:18

靠,神动作真快←_←
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30
送出感谢: 2 次
接收感谢: 31 次

Re: 关于文本的判断 求助呀

#5

帖子 aerofox » 2012-03-28 19:48

代码: 全选

if grep -q error a.log; then
    echo wrong
else
    echo right
fi
cao627
帖子: 992
注册时间: 2007-12-05 10:57
系统: ubuntu14.04
来自: 金山
送出感谢: 13 次
接收感谢: 62 次

Re: 关于文本的判断 求助呀

#6

帖子 cao627 » 2012-03-28 19:56

eexpress 写了:cat x.log|grep 'error' && echo right || echo wrong
学习

好像应该是

代码: 全选

cat x.log | grep -q 'error' && echo wrong || echo right
回复

回到 “Shell脚本”