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!

 

posted @ 2022-04-24 17:51  小鲨鱼2018  阅读(2531)  评论(0编辑  收藏  举报