shell – Unix:删除重复行而不进行排序
发布时间:2020-12-15 16:17:17 所属栏目:安全 来源:网络整理
导读:我有一个Python中的实用程序脚本: #!/usr/bin/env pythonimport sysunique_lines = []duplicate_lines = []for line in sys.stdin: if line in unique_lines: duplicate_lines.append(line) else: unique_lines.append(line) sys.stdout.write(line)# optio
我有一个Python中的实用程序脚本:
#!/usr/bin/env python import sys unique_lines = [] duplicate_lines = [] for line in sys.stdin: if line in unique_lines: duplicate_lines.append(line) else: unique_lines.append(line) sys.stdout.write(line) # optionally do something with duplicate_lines 这个简单的功能(uniq不需要排序,稳定排序)必须作为一个简单的UNIX实用程序可用,不可以吗?也许在管道中的过滤器的组合? 请求原因:在一个系统上需要这个功能,我不能在任何地方执行python
UNIX Bash脚本博客
suggests:
awk '!x[$0]++' 这个命令只是告诉awk打印哪些行。变量$ 0保存一行的全部内容,方括号是数组访问。因此,对于文件的每一行,数组x的节点递增,并且如果该节点的内容不是(!)先前设置的,则打印该行。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |