import sys
inputs = {}
for inputFileName in sys.args[1:]:
with open(inputFileName, 'r') as inputFile:
inputs[inputFileName] = set([ line.strip() for line in inputFile ])
for inputFileName, inputSet in inputs.iteritems():
print inputFileName
result = inputSet
for otherInputFileName, otherInputSet in inputs.iteritems():
if otherInputFileName != inputFileName:
result -= otherInputSet
print result
from sys import argv
from collections import defaultdict
filenames = argv[1:]
X = defaultdict(list)
for f in filenames:
with open(f,'r') as FIN:
for word in FIN:
X[word.strip()].append(f)
for word in X:
if len(X[word])==1:
print "Filename: %s word: %s" % (X[word][0], word)
热针:
但没有尝试;-)
下面是一个快速的python脚本,它可以对任意数量的文件执行所需的操作:
这样可以得到:
^{pr2}$澄清问题后编辑:所有文件中的唯一元素,以及它所在的文件:
编辑:
当然,如果文件比较大,这样做的速度会更快:
^{pr2}$执行方式: myscript.pl文件A文件B文件C。。。锉刀
澄清前的材料: 使用shell命令非常简单。跨所有文件的非重复元素
所有文件中的唯一元素
每个文件的唯一元素 (编辑感谢@Dennis Williamson)
相关问题 更多 >
编程相关推荐