aboutsummaryrefslogtreecommitdiffstats
path: root/accesslist-duplicates.local
blob: fd5bcc42fd4c3b3807eb468970636435a0eebdd6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!rsc
# RouterOS script: accesslist-duplicates.local
# Copyright (c) 2018 Christian Hesse <mail@eworm.de>
#
# print duplicate antries in wireless access list
#
# !! Do not edit this file, it is generated from template!

:local seen [ :toarray "" ];
:local shown [ :toarray "" ];

:global Read;

:foreach acclist in=[ / interface wireless access-list find where mac-address!="00:00:00:00:00:00" ] do={
  :local mac [ / interface wireless access-list get $acclist mac-address ];
  :foreach "seen-mac" in=$seen do={
    :if ($"seen-mac" = $mac) do={
      :local skip 0;
      :foreach "shown-mac" in=$shown do={
        :if ($"shown-mac" = $mac) do={ :set skip 1; }
      }
      :if ($skip = 0) do={
        / interface wireless access-list print where mac-address=$mac;
        :set shown ( $shown , $mac );

        :put "\nEnter to skip, numeric id to remove!";
        :local remove [ $Read ];
        :if ($remove != "") do={
          :put ("Removing numeric id " . $remove . "...\n");
          / interface wireless access-list remove $remove;
        }
      }
    }
  }
  :set seen ( $seen , $mac );
}