Shell判断文件是否包含给定字符串
- 给定一个字符,比方说“Hello Linduo”,查找相应文件中是否包含该字符。
- 方式1:grep
# grep -c 返回 file中,与str匹配的行数
grep -c str file
FIND_FILE="/home/linduo/test/Test.txt"
FIND_STR="Hello Linduo"
# 判断匹配函数,匹配函数不为0,则包含给定字符
if [ `grep -c "$FIND_STR" $FIND_FILE` -ne '0' ];then
echo "The File Has Hello Linduo!"
exit 0
fi
- 方式2:cat、while、read组合使用。使用这种方式,要注意时while read 在子shell中运行。
FIND_FILE="/home/linduo/test/Test.txt"
FIND_STR="Hello Linduo"
cat $FIND_FILE| while read line
do
if [[ $line =~ $FIND_STR ]];then
echo "The File Has Hello Linduo!"
fi
done