我有这样一个问题:我有两个带有 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/

10-13 02:34