| Last change
                  on this file since 261 was
                  249,
                  checked in by rock, 15 years ago | 
        
          | 
Debug: nutchez (/etc/hosts timestamp )
 | 
        
          | 
              
                  Property svn:executable set to
                  * | 
        | File size:
            1.3 KB | 
      
      
        
  | Rev | Line |  | 
|---|
| [162] | 1 | #!/bin/bash | 
|---|
|  | 2 | # Program: | 
|---|
|  | 3 | #   Delete duplicating ip $ hostname in file (for nutchez management interface). | 
|---|
|  | 4 | # Author: | 
|---|
|  | 5 | #   Waue, Shunfa, Rock {waue, shunfa, rock}@nchc.org.tw | 
|---|
|  | 6 | # Version: | 
|---|
|  | 7 | #    1.0 | 
|---|
|  | 8 | # History: | 
|---|
|  | 9 | #   2010/06/07  Rock    First release (1.0) | 
|---|
|  | 10 |  | 
|---|
|  | 11 | # Delete duplicating ip addresss in file | 
|---|
|  | 12 | IPs=$(cat $1 | grep -v 'ip6' | grep -v '#' | grep -v '^$' | awk '{print $1}') | 
|---|
|  | 13 |  | 
|---|
| [172] | 14 | # 刪掉空白行 | 
|---|
| [174] | 15 | #sed -i '/^$/d' "$1" | 
|---|
| [172] | 16 |  | 
|---|
|  | 17 | cp -f "$1" "${1}.old" | 
|---|
|  | 18 | #read -p "cp - f $1 ${1}.old ; $?" | 
|---|
|  | 19 |  | 
|---|
| [162] | 20 | for ip_add in $(echo $IPs) | 
|---|
|  | 21 | do | 
|---|
|  | 22 | ip_nu=$(cat -n $1 | grep $ip_add | awk '{print $1}') | 
|---|
|  | 23 | ip_count=$(echo $ip_nu | wc -w) | 
|---|
|  | 24 |  | 
|---|
|  | 25 | for (( i=1; i<${ip_count}; i++ )) | 
|---|
|  | 26 | do | 
|---|
|  | 27 | del_line=$(echo $ip_nu | cut -d " " -f${i}) | 
|---|
|  | 28 | sed -i "${del_line}d" $1 | 
|---|
|  | 29 | done | 
|---|
|  | 30 | done | 
|---|
|  | 31 |  | 
|---|
|  | 32 | # Dlete duplicating hostname in file | 
|---|
|  | 33 | hostnames=$(cat $1 | grep -v ip6 | grep -v '#' | grep -v '^$' |awk '{print $2}') | 
|---|
|  | 34 | for host in $(echo $hostnames) | 
|---|
|  | 35 | do | 
|---|
|  | 36 | # line numbers | 
|---|
| [165] | 37 | host_nu=$(cat -n $1 | grep "$host\$" | awk '{print $1}') | 
|---|
| [162] | 38 | host_count=$(echo $host_nu | wc -w) | 
|---|
|  | 39 |  | 
|---|
|  | 40 | for (( i=1; i<${host_count}; i++ )) | 
|---|
|  | 41 | do | 
|---|
|  | 42 | del_line=$(echo $host_nu | cut -d " " -f${i}) | 
|---|
|  | 43 | sed -i "${del_line}d" $1 | 
|---|
|  | 44 | done | 
|---|
|  | 45 | done | 
|---|
| [172] | 46 |  | 
|---|
| [249] | 47 | #cp -f "$1" "${1}.bak" | 
|---|
| [172] | 48 | #read -p "cp -f $1 ${1}.bak ; $?" | 
|---|
       
      
      Note: See 
TracBrowser
        for help on using the repository browser.