- 论坛徽章:
- 3
|
- awk -v RS='interface' 'NF>5{
- vlan="";
- for (i=n=1;i<=NF;i++) {
- if ($i ~ /Ethernet/) { ifx=substr($i,13,1);eth=substr($i,9,5); continue; }
- if ($i ~ /domain/) { d = $(i+1); }
- if ($i ~ /user-vlan/) { v = 1; }
- if ($i ~ /^[0-9-]+$/ && v++) {
- vlan=vlan""(vlan!=""&&v>2?"-":(vlan==""?"":", "))""$i;
- }
- }
- k=d" "ifx" "eth;
- vstr[k]=vstr[k]""(vstr[k]!=""?", ":"")vlan;
- net[k]=RS""ifx" eth"eth" "d;
- }
- END{
- for (k in net) {
- str="";
- vn=split(vstr[k], a, "-");
- for (i=1;i<=vn;i++) {
- bn=split(a[i],b,",");#print b[1]":"b[2];
- if (b[1]==b[2]) a[i]="";
- }
- for (i=1;i<=vn;i++) {
- str=str""(str==""||a[i]==""?"":"-")a[i];
- }
- print net[k]" "str;
- }
- }' urfile
复制代码 |
|