shell/bash 两个变量的提取和判断,即:实现两个条件同时存在

例如文件里是如下信息:1234qwer5678输出信息的需求为:信息“1234”必须存在并且一定不可以出现qwer,为期望的输出信息。用怎样的方式写这个命令语句呢?谢谢。... 例如文件里是如下信息:
1234
qwer
5678
输出信息的需求为: 信息“1234”必须存在 并且 一定不可以出现 qwer,为期望的输出信息。 用怎样的方式 写这个命令语句呢? 谢谢。
展开
 我来答
百度网友5311d79
2014-01-02 · TA获得超过1.9万个赞
知道大有可为答主
回答量:6356
采纳率:71%
帮助的人:3216万
展开全部
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式