我有这样的文本文件:
313 "88.68.245.12"
189 "87.245.108.11"
173 "84.134.230.11"
171 "87.143.88.4"
158 "77.64.132.10"
....
我想grep
只显示前10行中的IP,在IP地址上运行whois
,然后从该输出我想要grep
所在的行{{1} }}
我怎样才能做到这一点?
答案 0 :(得分:1)
使用while - read
:
while IFS='"' read -r a ip c
do
echo "ip: $ip"
whois "$ip" | grep netname
done < <(head -10 file)
这是IFS='"'
,因此字段分隔符是双引号"
。这样,双引号内的值将存储在$ip
。
然后,我们打印ip并执行whois | grep
事。
最后,我们使用head -10 file
提供循环,以便我们只读取前10行。