用于独特设置的标准unix工具

时间:2012-01-12 17:32:19

标签: python unix

以下python脚本打印文件中第一次出现的行。

#!/usr/bin/env python
import sys

x = set() 

for line in sys.stdin:
    if line not in x:
        print line,
        x.add(line)

uniq仅适用于相邻行。将要使用的文件非常大,因此sort | uniq并不理想。是否有标准工具可以做到这一点?

2 个答案:

答案 0 :(得分:4)

你试过sort -u吗?至少这是uniq man page所暗示的。

答案 1 :(得分:1)

使用awk

awk '!x[$0]++' file.old > file.new