使用值从文件和 运行 命令中读取列

Read column from file and run commands with the values

我有这样的文本文件:

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,运行 whois 通过 IP 地址,从那个输出我想 grep 该行它说 netname.

我怎样才能做到这一点?

只需使用 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 行。