我有这样一个问题:我有两个带有 key 的文件:
file1: aa, bb, cc, dd, ee, ff, gg;
file2: aa, bb, cc, zz, yy, ww, oo;
我需要使用 grep/sed 编写脚本来生成两个文件:
res1.txt - will contain similar keys from both files: aa, bb, cc;
res2.txt - will contain ONLY keys from file2 which differs from files1: zz, yy, ww, oo.
我可以使用此工具以及如何使用python脚本来完成这项工作吗?谢谢。
我正在使用Windows。
最佳答案
在Python中,您可以执行以下操作。
string1 = "aa, bb, cc, dd, ee, ff, gg;"
string2 = "aa, bb, cc, zz, yy, ww, oo;"
list1 = string1.rstrip(';').split(', ')
list2 = string2.rstrip(';').split(', ')
common_words = filter(lambda x: x in list1, list2)
unique_words = filter(lambda x: x not in list1, list2)
>>> common_words
['aa', 'bb', 'cc']
>>> unique_words
['zz', 'yy', 'ww', 'oo']
然后,您可以根据需要将它们写入文件。
例如。:
common_string = ', '.join(common_words) + ';'
with open("common.txt", 'w') as common_file:
common_file.write(common_string)
关于python - 用grep或sed合并两行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17547218/