我有许多文件(acls),其中包含ips,mac,主机名和其他数据。
重要提示:问题在于文件中的“重复内容”。没有“重复的行”
示例:(只有一个文件,但我有几个acls)
192.168.1.20;08:00:00:00:00:01;peter
192.168.1.21;08:00:00:00:00:01;android
192.168.1.21;08:00:00:00:00:02;john
192.168.1.22;08:00:00:00:00:03;julia
192.168.1.23;08:00:00:00:00:04;android
内容重复的行。这就是我想要的。命令告诉我这个结果:
192.168.1.20;08:00:00:00:00:01;peter
192.168.1.21;08:00:00:00:00:01;android
192.168.1.21;08:00:00:00:00:02;john
192.168.1.23;08:00:00:00:00:04;android
上面一行中的重复内容是08:00:00:00:00:01,192.168.1.21和android
我用来查找重复项到acls文件夹的命令(不起作用):
cat /home/user/files/* | sort | uniq -c | head -20
我尝试过这个python script,但结果并不像预期的那样
首先(至少)我想检测具有重复内容的行,并且(如果可能的话)删除具有重复内容的行。
由于
答案 0 :(得分:0)
考虑到您对您认为重复的评论,这应该是关闭的:
<input type="text" class="form-control" id="db_username" name="db_username">
但实际上我们谈到了三种不同的情况 变量a仅包含重复的IP,忽略其余的字段 变量b仅包含重复的MAC,忽略其余的字段 变量c仅包含重复的主机名,忽略其余字段。
我没有看到这个令人困惑的信息的含义。
唯一的解释是你可以像以后一样使用grep:
$ a=$(cut -d';' -f1 c.txt |sort |uniq -d)
$ b=$(cut -d';' -f2 c.txt |sort |uniq -d)
$ c=$(cut -d';' -f3 c.txt |sort |uniq -d)
$ echo "$a:$b:$c"
192.168.1.21:08:00:00:00:00:01:android
要从原始文件中获取具有完全唯一的IP(甚至一次未使用过的IP)的行,一个完全唯一的MAC和一个完全唯一的主机名。
这是你想要达到的目标吗?