#!/bin/bash # Program: # Delete duplicating ip $ hostname in file (for nutchez management interface). # Author: # Waue, Shunfa, Rock {waue, shunfa, rock}@nchc.org.tw # Version: # 1.0 # History: # 2010/06/07 Rock First release (1.0) # Delete duplicating ip addresss in file IPs=$(cat $1 | grep -v 'ip6' | grep -v '#' | grep -v '^$' | awk '{print $1}') # 刪掉空白行 sed -i '/^$/d' $1 cp -f "$1" "${1}.old" #read -p "cp - f $1 ${1}.old ; $?" for ip_add in $(echo $IPs) do ip_nu=$(cat -n $1 | grep $ip_add | awk '{print $1}') ip_count=$(echo $ip_nu | wc -w) for (( i=1; i<${ip_count}; i++ )) do del_line=$(echo $ip_nu | cut -d " " -f${i}) sed -i "${del_line}d" $1 done done # Dlete duplicating hostname in file hostnames=$(cat $1 | grep -v ip6 | grep -v '#' | grep -v '^$' |awk '{print $2}') for host in $(echo $hostnames) do # line numbers host_nu=$(cat -n $1 | grep "$host\$" | awk '{print $1}') host_count=$(echo $host_nu | wc -w) for (( i=1; i<${host_count}; i++ )) do del_line=$(echo $host_nu | cut -d " " -f${i}) sed -i "${del_line}d" $1 done done cp -f "$1" "${1}.bak" #read -p "cp -f $1 ${1}.bak ; $?"