Следующий скрипт 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
sort | uniq
не является идеальным. Есть ли стандартный инструмент, который это делает?
Вы пробовали sort -u
? По крайней мере, то, что предлагает страница uniq man.
awk
awk '!x[$0]++' file.old > file.new