对包含大量不同 IP 的文件中的唯一 IP 进行排序和显示
我有一个包含很多行的文件,格式如下。
第一列是 IP,IP 可以重复。其他列不必排序。如果第一列只是一个数字,我可以使用“sort -u k1,1”。但是,在这种情况下,IP 有 4 个数字。 您能否帮忙按 IP 顺序对行进行排序,并删除重复项,仅列出具有唯一 IP 的行?
先感谢您!
I have a file containing lots of lines as following formnat.
The first column would be IP's, and IP could be duplicated. The other columns don't have to be sorted. If the first column just a number I can use "sort -u k1,1".However, in this case, IP has 4 numbers.
Can you please help to sort lines in IP's order, and remove duplicates, only list lines with unique IP's?
Thank you in advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
假设包含数据的文件名为 data.txt,您可以执行以下操作:
awk
仅保留第一列,即 IP 地址sort
:对 IP 进行排序uniq
:删除重复项如果您需要知道每个IP在文件中出现的次数,可以在
uniq
中添加选项-c
。Lets say your file containing the data is called data.txt, you can do:
awk
keeps only the first column, the IP addressessort
: sort the IPsuniq
: remove duplicatesIf you need to know how many times each IP appears in the file, you can add option
-c
touniq
.这应该可以对每一列单独进行排序并使用数字顺序:
This should work sorting each column individually and using number order:
假设您想要做的是根据 IP 地址进行排序,同时仅根据 IP 地址删除重复行,则以下排序和遍历排序文件以删除重复项的代码应该可以工作:
Assuming what you want to do is sort based on IP addresses while removing duplicate lines only based on the IP address, below code of sorting and traversing the sorted file to remove duplicates should work: