批量修改配置/添加配置/添加匹配行

#!/usr/bin/env bash
has ()
{
    value=$(grep -ic "^$1" $2)
    if [ ${value} -ge 1 ]
    then
      return 0
    else
      return 1
    fi
}

add_row ()
{
    has "$1" "$2"
    re=$?
    if [ ${re} -eq 0 ]
    then
      echo -e "add--\t $2: \t $1 \t \033[33;32m [ EXIST ] \033[33;37m"
    else
      echo "$1" >> $2
      echo -e "add--\t $2: \t $1 \t \033[33;32m [ OK ] \033[33;37m"
    fi
}

sed_row ()
{
    has "$1" "$2"
    re=$?
    if [ ${re} -eq 0 ]
    then
        sed -i "s/^$1/$3/g" $2
        echo -e "sed--\t $2: \t $3 \t \033[33;32m [ OK ] \033[33;37m"
    else
        add_row "$3" "$2"
    fi
}

# ssh: UseDNS no
sed_row "#UseDNS yes" /etc/ssh/sshd_config "UseDNS no"

#匹配行前加
sed -i '/allow 361way.com/iallow www.361way.com' the.conf.file
#匹配行前后
sed -i '/allow 361way.com/aallow www.361way.com' the.conf.file

你可能感兴趣的:(批量修改配置/添加配置/添加匹配行)