批量生成SecureCRT的session文件之shell版

窗外世界 Add comments

上次写了一个python版:http://blog.oldyang.net/archives/241,这次再来个shell版

#!/bin/sh
def_readfile="host"
def_str="192.168.0.1"
def_ext="ini"
def_example="example.${def_ext}"
def_dir="session"
def_maclen="4"

if [ -d ${def_dir} ];
then
    rm -rf ${def_dir}
    mkdir ${def_dir}
else
    mkdir ${def_dir}
fi

while IFS=' ' read def_host def_ip
do
    def_leng=$(echo "${def_host}" |awk -F"[a-zA-Z]" '{print $NF}' | echo `wc -m`-1 | bc)
    def_group=$(echo "${def_host}" | awk -F"[0-9]" '{print $1}')
    def_machine=$(echo "${def_host}" | awk -F"[A-Za-z]" '{print $NF}')
    if [ ${def_leng} -ge "${def_maclen}" ];then
        sed "s/${def_str}/${def_ip}/g" ${def_example} > ${def_dir}/\(${def_host}\)${def_ip}.${def_ext}
    else
        def_diff=$(echo "${def_maclen}-${def_leng}" | bc)
        def_zero=$(for i in `seq 1 ${def_diff}`;do echo 0;done | xargs -n ${def_diff} | sed 's/ //g')
        def_host=$(echo "${def_group}${def_zero}${def_machine}")
        sed "s/${def_str}/${def_ip}/g" ${def_example} > ${def_dir}/\(${def_host}\)${def_ip}.${def_ext}
    fi
done < ${def_readfile}

Leave a Reply

Spam Protection by WP-SpamFree

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS 登录

无觅相关文章插件,快速提升流量