Linux上の2つのファイルの行データの正確な違い

Linux上の2つのファイルの行データの正確な違い

2つのファイル間の違いを正確に出力する必要があります。データはカンマ区切りの行にあり、多くの行があります。たとえば、1行だけを示しました。すべての文字列は、他のファイルのすべての文字列を見つける必要があります。

例:

ファイル1.txt

abc,def,ghi,klm,nop
one,two,three,four,five,six

ファイル2.txt

abc,def,ghi,klm,nop
one,two,three,test,four,five,six

予想出力:

test

ベストアンサー1

Python近い違いライブラリ(増分計算ヘルパー)とシステム基準寸法:

diff.py:

import difflib, sys

with open(sys.argv[1], 'r') as f1, open(sys.argv[2], 'r') as f2:
    differ = difflib.Differ()
    for l in differ.compare(f1.read().split(','), f2.read().split(',')):
        if (l.startswith('+ ') or l.startswith('- ')):
            sys.stdout.write(l[2:] + '\n')

使用法:

python differ.py file1.txt file2.txt

出力:

test

difflib.Differ- テキスト行の順序を比較し、人間が読める差やデルタを生成するクラス

おすすめ記事