Linux 技术手札

Shell Script 检查档案是否有指定字串

在 Linux CLI 下可以用 grep 指令, 将档案包含有指定字串的行印出, 或者配合 -c 参数直接印出匹配的行数, 例如:

$ grep -c string filename.txt

如果在 Shell Script 要检查档案是否有指定字串, 当然可以检查以上指令输出的数值, 但另一个更方便的方法, 是用 grep 的 -q 参数, 具体写法是这样:

grep 指令当加上 -q 参数后, 会根据搜寻结果回传 0 或者 1 的 exit code, 当找到字串回传 0; 找不到回传 1.

如果在 CLI 使用 -q 参数, 可以用 $? 变量查询回传结果:

$ echo ‘hello word’ | grep hi ; echo $?
1
$ echo ‘hello word’ | grep he ; echo $?
hello word
0
Exit mobile version