은 내가AWK 배열 출력
ip_array=['192.168.1.100' '192.168.1.101' '192.168.1.102' '192.168.1.103' '192.168.1.104' '192.168.1.105' '192.168.1.106' '192.168.1.107' '192.168.1.108' '192.168.1.109' '192.168.1.110']
내가 ip_array에 대한 iptables에 출력을 실행하고 결과를 얻을하려는 IP 목록 배열을 가지고있다. 예를 들어 내가
iptables -L RRDIPT -vnx -t filter |awk '!/destination/{a[$9]+=$2}END{for(item in a){total+=a[item];dl[item]=a[item];printf item"-"a[item]}}'
하지만 IP 주소가 난 내 출력이 같은 형식이어야 할 계속 변경 이후 AWK
를 사용하여 바이트의 정보를 얻을 수 있다는 것을 알게 내 이전 게시물에서pkts bytes target prot opt in out source destination
83276 4337105 RETURN 0 -- * * 192.168.1.106 0.0.0.0/0
166008 230477883 RETURN 0 -- * * 0.0.0.0/0 192.168.1.106
0 0 RETURN 0 -- * * 192.168.1.107 0.0.0.0/0
0 0 RETURN 0 -- * * 0.0.0.0/0 192.168.1.107
0 0 RETURN 0 -- * * 192.168.1.103 0.0.0.0/0
0 0 RETURN 0 -- * * 0.0.0.0/0 192.168.1.103
99 9144 RETURN 0 -- * * 192.168.1.102 0.0.0.0/0
79 11590 RETURN 0 -- * * 0.0.0.0/0 192.168.1.102
0 0 RETURN 0 -- * * 192.168.1.101 0.0.0.0/0
0 0 RETURN 0 -- * * 0.0.0.0/0 192.168.1.101
994874 51992106 RETURN 0 -- * * 192.168.1.100 0.0.0.0/0
2398169 3594009427 RETURN 0 -- * * 0.0.0.0/0 192.168.1.100
0 0 RETURN 0 -- * * 192.168.1.106 0.0.0.0/0
0 0 RETURN 0 -- * * 0.0.0.0/0 192.168.1.106
..
i.e bytesof 192.168.1.100, bytesof 192.168.1.102, bytesof 192.168.1.103, bytesof 192.168.1.104.......bytesof 192.168.1.110
제가
아래 출력 를보고 싶다0 I는 I 글로벌 배열로 배열 dl
선언
iptables -L RRDIPT -vnx -t filter |awk '!/destination/{a[$9]+=$2}END{for(item in a){if(item==ip_array[i]){dl[i]=a[item];printf dl[i];}else{dl[i]=0}i+=i;}}'
를 사용하려하지만 추가 처리를 위해 예컨대 dl[0]
값에 액세스 할 수없는 것.
아무도 도와 줄 수 있습니까?
: P – Shoban
내가 무서워도 문제 – Javanator
내가 충분히 용감 오전를 포맷입니다) -하지만 지금은 다른 사람이 그것을 대답) – ocodo