五 17
上次写了一个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}
Recent Comments