根据单列过滤出重复信息

时间:2019-02-18 21:01:03

标签: bash sorting awk grep

关于DUPLICATE:其他解决方案/链接问题未明确回答。它虽然有帮助,但是仍然留给重复的Port。

具体地说,我要删除对重复端口的任何引用。因此,在下面显示的示例中,G1 / 0/28具有重复项。我想删除所有对重复项的引用。

我尝试搜索此内容,但我什至不确定我将如何搜索此特定请求。我很抱歉这个答案,我找不到。

我正在使用bash脚本,并且想删除一些重复的条目。我了解您可以使用“ sort -u”之类的方法,但在这种情况下不起作用。

我具有经过重新组织后的“ show mac address-table”命令的输出,如下所示: 端口MAC地址VLAN ID

但是,当您查看“ show mac address-table”命令时,它包括本地端口的MAC地址以及它通过中继端口等从其他交换机获得的MAC地址。结果,您最终得到一些端口列出了很多次,但是它们具有不同的MAC地址,显示“ sort -u”会将其视为唯一的行。例如:

g1/0/28  xxxx.xxxx.yyyy  101
g1/0/28  xxxx.xxxx.xxxx  101
g1/0/28  xxxx.xxxx.zzzz  101
g1/0/1   xxxx.xxxx.bbbb  101
g1/0/2   xxxx.xxxx.cccc  101

我想做的是仅保留UNIQUE端口。因为在这种情况下,我只关心直接连接到此开关的内容,所以不需要g1 / 0/28的任何详细信息。当然,我可以使用“ grep -v” g1 / 0/28“,但是它不是动态的。例如,一台交换机可能将g1 / 0/10用作中继。

另外,端口可能不正确...可能是:

g1/0/28  xxxx.xxxx.xxxx  101
g1/0/28  xxxx.xxxx.zzzz  101
g1/0/1   xxxx.xxxx.bbbb  101
g1/0/2   xxxx.xxxx.cccc  101
g1/0/28  xxxx.xxxx.yyyy  101

所以我不想将最后一行与下一行进行比较...对吗?

有什么想法吗?有没有办法从命令行执行此操作?还是在bash shell脚本中,是awk语句,perl语句?

0 个答案:

没有答案