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

#!/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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容