shell/bash 两个变量的提取和判断,即:实现两个条件同时存在
例如文件里是如下信息:1234qwer5678输出信息的需求为:信息“1234”必须存在并且一定不可以出现qwer,为期望的输出信息。用怎样的方式写这个命令语句呢?谢谢。...
例如文件里是如下信息:
1234
qwer
5678
输出信息的需求为: 信息“1234”必须存在 并且 一定不可以出现 qwer,为期望的输出信息。 用怎样的方式 写这个命令语句呢? 谢谢。 展开
1234
qwer
5678
输出信息的需求为: 信息“1234”必须存在 并且 一定不可以出现 qwer,为期望的输出信息。 用怎样的方式 写这个命令语句呢? 谢谢。 展开
2个回答
展开全部
awk -v RS="" '/1234/&&!/qwer/' file.txt
你的这个例子,由于出现了qwer,所以输出为空。
RS(记录分隔符)默认为换行符,但这里将所有文件内容作为一条记录来整体看待,以便判断是否含有要求的内容,所以清除了记录分隔符。
追问
你好,我还是没有明白, 这个方法 用两个If语句嵌套, 是可以实现的, 比如 先判断1234存在, 再判断qwer的状态, 而且 1234 qwer是属于log文件内不同的 两行, 所以 想用一个比较简练的方法表达。
追答
我有点不明白你的意思。
可否先给出你的方法,如何用两个if语句嵌套?
然后我再看看是否可以优化。
2014-01-01
展开全部
#!/bin/bash
one=`grep 1234 test.txt`
two=`grep qwer test.txt`
if [ ! -z $one ] && [ -z $two ] ;
then
echo "期望的输出信息"
fi
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |