脚本从文本文件中读取行。一条线看起来像这样。
227 A S comment=comment string dst-address=9.9.9.9/29 gateway=192.168.199.2 gateway-status=192.168.199.2 reachable via LACP1=1 scope=30 target-scope=10
为此分配变量$ route
然后,我需要将9.9.9.9/29
指定为变量$subnet
。我无法使用awk
,因为dst-address的列位置会在行中有所不同。
总结一下,我需要搜索每一行" dst-address=
"然后在' ='之后分配字符串。变量$ subnet。
我理想的解决方案是
while read routes ; do
subnet=< code I need >
done < /tmp/routingTable.txt
答案 0 :(得分:0)
perl -n -e'/dst-address=(\S+)/ && print $1."\n"' your_file
解决方案:
$filterArray = array();
foreach($arr as $key=>$val){
if(strtotime($val['date-begin']) >= strtotime($postedDateBegin) && strtotime($val['date-end']) <= strtotime($postedDateEnd)){
$filterArray[] = $val;
}
}
答案 1 :(得分:0)
没有循环的bash解决方案
echo $route | sed -r "s/.*dst-address=([0-9./]+).*/\1/"