python - 使用 grep 或 sed 合并两行

标签 python regex windows sed grep

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

最佳答案

您可以使用 comm显示公共(public)行,但您必须对文件进行排序(并通过 tr 将它们转换为每行键格式):

comm -12 <(tr -s ' ,' '\n' < file1 | sort) <(tr -s ' ,' '\n' < file2 | sort)
comm -13 <(tr -s ' ,' '\n' < file1 | sort) <(tr -s ' ,' '\n' < file2 | sort)

关于python - 使用 grep 或 sed 合并两行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17547218/

相关文章:

c++ - 如何使用 C++ : When STDIN is NOT redirected 通过标准输入获取可用数据的大小

sql - 使用 for 循环 bat 文件窗口进行多个命令调用

python - 理解python关闭方法

Python,为什么我的概率神经网络(PNN)总是预测零?

java - 我的 Android 应用程序中的\\p{Punct} 行为

java - 正则表达式匹配两个单词

windows - Windows 是否允许有一个同时带有帮助按钮和最小/最大按钮的窗口?

Python sklearn.mixture.GMM 不适合扩展吗?

python - Cassandra 3.7与Python, 'NoneType'对象没有属性 'encode_message'

ios - 即使重复,如何获取特定子字符串的范围