用于显示/管道两列的Bash脚本

时间:2015-01-20 12:19:19

标签: python bash

我有这个bash脚本:

#!/bin/bash                                                                         
while IFS='"' read -r a ip c
do
    echo "ip: $ip"
    whois "$ip" | grep descr
done < <(sort -nr $1 | head -10)

这个文件需要第二个columen:

2132  "291.2.1.42"
5645  "231.26.12.77"
..

从这样的whois请求中获取描述字段:

ip: 62.178.124.23
descr:          UPC Telekabel
descr:          DHCP Range

我现在还需要提取源文件中的第一列并将其与IP地址一起显示,如下所示:

Views: 72123    ip: 62.178.124.23
descr:          UPC Telekabel
descr:          DHCP Range

如何实现?或者我应该切换到python以便能够解决这种复杂程度?

1 个答案:

答案 0 :(得分:1)

更改为:

#!/bin/bash                                                                         
while IFS='"' read -r a ip c
do
    printf "Views: $a\tip: $ip\n"
    whois "$ip" | grep descr
done < <(sort -nr $1 | head -10)