我有一個文字檔
內容是
link-group SHYH_11_LAG1 access economical
dot1q pvc 1063 profile to-dot1p
l2vpn local
description 12063613-292YV000043
dot1q pvc 1096 profile to-dot1p
l2vpn local
link-group SHKK_11_LAG1 access economical
dot1q pvc 1312 profile to-dot1p
l2vpn local
description 12338398-292YV000070
dot1q pvc 1347 profile to-dot1p
l2vpn local
link-group SHYH_11_LAG1
port ethernet 5/1
port ethernet 5/2
port ethernet 5/3
dot1q pvc 241 profile from/to-dot1p
l2vpn local
description 2100000530-295YD000077
我想要變成
SHYH_11_LAG1 1063
SHYH_11_LAG1 1096
SHKK_11_LAG1 1312
SHKK_11_LAG1 1347
5/3 241
就是 link-group 後面那串字(SHYH_11_LAG1)
或是
port ethernet 後面那串字(5/3)
都有可能下面有 vlan(dot1q pvc)
不知道怎麼寫比較好
用 PHP 寫:
<pre class="c" name="code">foreach (file('文字檔檔名') as $line)
{
if (preg_match('/^(link-group|port ethernet) (\S+)/', $line, $matches))
$group = $matches[2];
elseif (preg_match('/^dot1q pvc (\d+)/', $line, $matches))
echo $group,' ',$matches[1],"\n";
}