1.if 常用判断
[ -a file ] file存在为真
[ -d file ] file存在且是一个目录
[ -e file ] file存在
[ -f file ] file存在且是一个普通文件
[ -r file] file存在且可读
[ -w file ] file存在且可写
[ -x file ] file存在且可执行
[ -z STRING ] STRING长度为零
[ -n STRING ] || [ STRING ] STRING不为零
[ STR1 =/== STR2 ] 字符串相等
[ STR1 != STR2 ] 字符串不相等
2.文本文件中字符串替换
一般替换:
sed -i 's/abc/bcd/g' file
以某字符或字符串开头的整行替换(使用c选项表示整行替换):
sed '/^abc/cabc=0'
3.查找文本中的目标字符串(如IP地址),如果只有一条则说明文本正确,如果没有则进行添加,如果有多条则报异常
思路:将返回结果集转化为数组,判断数组长度即可
HOSTS=($(cat file |grep "192.168.0.1"))
if [ ${#HOSTS[@]} -eq 0 ]
then
echo "HOSTS is not exists in file"
elif [ ${#HOSTS[@]} -eq 1 ]
echo "there is only one HOSTS in file "
else
echo "there is more than one results in file , please check."
fi