一道实用linux运维问题的9种shell解答方法

转自:http://oldboy.blog.51cto.com/2561410/760192 

问题为:
4)已知:/etc/hosts的内容为
192.168.1.11  oldboy11.etiantian.org
192.168.1.21  oldboy21.etiantian.org
192.168.1.31  oldboy31.etiantian.org
#192.168.1.111  oldboy111.etiantian.org
请用shell脚本实现,怎么才能在输入IP后找到/etc/hosts里对应的唯一的hostname?

 

#!/bin/bash

echo "please input ip"

read ip

awk 'BEGIN{a="'$1'"} a==$1 {print $2}'   /etc/hosts 

awk 'BEGIN{a="'$ip'"} a==$1 {print $2}'  /etc/hosts

awk '"'$ip'"==$1 {print $2}'   /etc/hosts |awk '{print $2}'

grep -w "$ip"  /etc/hosts |awk '{print $2}'

grep  "$ip\>"  /etc/hosts |awk '{print $2}'

awk '/'"${1} "'/''{print $2}' /etc/hosts

awk '{if($1~/'$1'$/) print $2}'   /etc/hosts  #增加一个正则表达式$

具体9种方法看老男孩博客

 

 

你可能感兴趣的:(shell,9种shell)