2つのファイルの内容比較comm、diff、grep

2206 ワード

げんしょう
システムはまず1つのファイルAをあげて、それから新しい記録があるため、また1つのファイルBをあげて、今A、Bを通じてこの部分の新しい記録を探し出します
知識を重んじる
検索すると、主に3つのLinuxコマンドが使用できます.
comm A B
diff A B
grep -f A B

comm
commは、2つの順序付けされたファイルを比較し、出力を比較することができます:Aにのみ現れる、Bにのみ現れる、2つのファイルにすべて存在する.
直接commを使用すると3列が出力され、1列目がAのみ、2列目がBのみ、3列目がCのみとなり、commの後ろに数字を付けると、この列は表示されないことを示します.
共通パラメータ:
comm -1 A B     A       (  B      +      )
comm -2 A B     B       
comm -3 A B                  
comm -12 A B   A B     
comm -23 A B   A   
comm -13 A B   B   

comm --help
使用法:comm[オプション]...ファイル1ファイル2並べ替えられたファイル1とファイル2を行ごとに比較します.
オプションが付属していない場合、プログラムは3列の出力を生成します.1番目の列にはファイル1固有の行が含まれ、2番目の列にはファイル2固有の行が含まれ、3番目の列には2つのファイルが共有する行が含まれます.
-1ファイル1特有の行を出力しない-2ファイル2特有の行を出力しない-3両ファイル共通の行を出力しない
--check-order入力が正しくソートされているかどうかをチェックします.すべての入力行がペアになっている場合でも--nocheck-orderは入力が正しくソートされているかどうかをチェックしません.--output-delimiter=STRはSTRに従って列を分けます.--helpはこのヘルプ情報を表示し、--version表示バージョン情報を終了し、終了します.
Note, comparisons honor the rules specified by 'LC_COLLATE'.
例:comm-12ファイル1ファイル2は、ファイル1とファイル2の両方にある行comm-3ファイル1ファイル2のみを印刷し、ファイル2にない行を印刷します.逆もまた然り.
diff
diffは2つのファイルの間の違いを比較して、2つの一致する提案を出して、diffは前後の順序があって、前のは古いファイルで、後ろのは新しいファイルです
共通パラメータ:
diff A B            ,          (          )
diff -c A B             ,             ,               
diff -y A B            ,  B          

diff A Bを使用する場合、出力の説明:1a2 > a
説明:Bファイルにデータがaの2行目が追加されました.Bの2行目をAの1行目に追加した後、2つのファイルが一致して追加する行を維持するために、>で識別し、>新しいファイルを指します.4d5 < e
説明:Aファイルの4行目が削除され(d)、Aの中のその行を削除する必要があります.6c7,9 < g --- > h > h > i
説明:Aの6行目はBの7-9行に置き換えられ、Aの6行目の内容を置き換える必要がある
grep
grepは主にフィルタリングを検索するために使用され、grep -f -vを使用してファイル比較が可能である.
grep -v -f a b   b   a   

まとめ
ファイルが大きすぎて並べ替えができないため、すべての直接passがcommを落としてしまいました・・・新規レコードを出力したいだけなのでdiffコマンドは適切な方法が見つからず断念・・grepは可能らしいのですが、ファイルが大きすぎてgrep:Memory exhausted・・・と報告し、最終的に2つのファイルをデータベースに入れ、データベースを通じて新規レコード0.0を抽出しました