簡體   English   中英

用於從文件檢查 IP 主機名的腳本

[英]script for checking IP's hostname from file

我曾經將一個文件包含帶有主機名的 IP,例如 /ec/hosts,另一個包含 IP,如果找不到主機名,則計數器嘗試打印 ip,如果找到則打印主機名。

腳本:

for i in `cat ip | awk '{print $2}'` ;do
   var=`grep "$i" Server_ip` |
   awk ' {if($var == "") print $i  else print $1}';
done

文件 1

localhost 127.0.0.1
test 10.0.0.1
test1 10.0.0.2

文件 2

3 127.0.0.1
2 10.0.0.1
1 10.0.0.2
4 10.0.0.3
5 10.0.0.4

期望輸出

localhost
test
test1
10.0.0.3
10.0.0.4

你可以試試這個;

#!/bin/bash
for i in `cat ip | awk '{print $2}'` ;do
var=`awk -v ip=${i} '$2 == ip {print $1}' Server_ip`

 if [ -z "$var" ]; then
  echo $i
 else 
  echo "$var"
 fi

done

例如;

user@host:/tmp/test$ cat Server_ip
localhost 127.0.0.1
test 10.0.0.1
test1 10.0.0.2

user@host:/tmp/test$ cat ip
3 127.0.0.1
2 10.0.0.1
1 10.0.0.2
4 10.0.0.3
5 10.0.0.4

user@host:/tmp/test$ ./test.sh
localhost
test
test1
10.0.0.3
10.0.0.4

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM