我有一个test.csv文件,如下所示
LOC,IP,D1,D2
abc1,10.11|10.12|10.13|10.14|10.15|10.16,10.11.1.1,11.1.1.23
abc2,12.1|10.15|10.116|10.127|10.110,11.110.8.25,11.11.5.3
abc3,13.2|13.2,10.1.4.50,10.2.7.3
我想在目标服务器上计算Ipaddress,然后检查ipaddress
是否与test.csv
文件中的值匹配。如果匹配,那么我想将check_func
和pass values of D1 and D2
称为该函数。
到目前为止,我可以使用以下命令
计算ipaddress
host=`uname -n'`
ip_addr=`host $host | awk '{print $NF}'`
现在,我想做类似下面的事情:
case $ip_addr in
10.11|10.12|10.13|10.14|10.15|10.16)
check_func "10.11.1.1" "11.1.1.23"
答案 0 :(得分:1)
在bash中,您可以使用存储在extglob
shell选项下的变量中的模式:
shopt -s extglob
case "$ip_addr" in
@($column2)) check_func "$column3" "$column4" ;;
*) echo Unknown. ;;
esac
要填充列,只需使用内部字段分隔符设置为read
的{{1}}:
,