linux 中 grep -q选项

 

1、linux 中 grep -q选项表示静默输出, 即不显式匹配结果

root@DESKTOP-1N42TVH:/home/test2# ls
a.txt
root@DESKTOP-1N42TVH:/home/test2# cat a.txt            ## 测试数据
d e j
s q u
z c b
root@DESKTOP-1N42TVH:/home/test2# grep "s" a.txt       ## 直接输出匹配结果
s q u
root@DESKTOP-1N42TVH:/home/test2# echo $?              ## 输出0表示匹配成功
0
root@DESKTOP-1N42TVH:/home/test2# grep -q "s" a.txt    ## -q选项表示静默输出
root@DESKTOP-1N42TVH:/home/test2# echo $?
0

 

2、grep命令用在 if判断语句中

root@DESKTOP-1N42TVH:/home/test2# ls
a.txt  test.sh
root@DESKTOP-1N42TVH:/home/test2# cat a.txt
d e j
s q u
z c b
root@DESKTOP-1N42TVH:/home/test2# cat test.sh      ## 测试脚本, 利用grep匹配结果作为判断语句
#!/bin/bash
if grep -q "s" a.txt
then
        echo "s exit!"
else
        echo "s not exit!"
fi
root@DESKTOP-1N42TVH:/home/test2# bash test.sh         ## 判断成功,执行if语句
s exit!
root@DESKTOP-1N42TVH:/home/test2# sed 's/s/x/g' a.txt -i 
root@DESKTOP-1N42TVH:/home/test2# cat a.txt           ## 修改了测试数据
d e j
x q u
z c b
root@DESKTOP-1N42TVH:/home/test2# bash test.sh        ## 再次进行判断
s not exit!

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。