linuxシェルは複数のファイルをマージし、重複する行を削除します

目次

ソースファイル

ファイルをマージする

重複する行を削除して表示する

ファイルの和集合と共通部分と補集合


cat a.txt b.txt | 並べ替え| uniq> h.txt

ソースファイル

1.まず、ファイルディレクトリ(この例ではtmp)に「cdtmp」と入力します。

LinuxCombinFile1.png

2.「cata.txt」と入力して、a.txtファイルの内容を出力します。

LinuxCombinFile2.png

3.「catb.txt」と入力して、b.txtファイルの内容を出力します。

LinuxCombinFile3.png

ファイルをマージする

4.「cata.txtb.txt> c.txt」と入力して、b.txtファイルの内容をa.txtの下部にマージし、c.txtに出力します。そして、「cat c.txt」と入力して、c.txtファイルの内容を出力します。
   注:元のa.txtファイルの内容は青いボックスにあり、元のb.txtファイルの内容は黄色のボックスにあります。

LinuxCombinFile4.png

5.「pastea.txtb.txt> d.txt」と入力して、b.txtファイルの内容をa.txtの右側にマージし、d.txtに出力します。そして、「cat d.txt」と入力して、d.txtファイルの内容を出力します。
   注:元のa.txtファイルの内容は青いボックスにあり、元のb.txtファイルの内容は黄色のボックスにあります。

LinuxCombinFile5.png

6.「cata.txtb.txt | sort | uniq |> e.txt」と入力して、a.txtファイルとb.txtファイルの内容をマージし、重複する行を削除して、結果をe.txtに出力します。そして、「cat e.txt」と入力して、e.txtファイルの内容を出力します。
   上の図のe.txtファイルとc.txtファイルの違いに注意してください。

LinuxCombinFile6.png

重複する行を削除して表示する

7.「cpb.txtf.txt」コマンドを入力してb.txtをコピーします。新しいファイル名はf.txtです。「catf.txt」コマンドを入力してファイルの内容を表示します。

LinuxCombinFile7.png

8.「sortf.txt | uniq」と入力し、Enterキーを押して、重複行を削除した結果が表示されることを確認します(複数行が繰り返される場合は1行のみが表示されます)。

LinuxCombinFile8.png

9. sortコマンドは、表示された結果の重複行のみを削除し、ファイルは変更しません。「cat f.txt」コマンドを入力すると、ファイルの内容を表示でき、結果は元のファイルと同じです。 。

LinuxCombinFile16.png

10.「cpb.txtg.txt」コマンドを入力してb.txtをコピーし、新しいファイル名はg.txtになり、「catg.txt」コマンドを入力してファイルの内容を表示します。

LinuxCombinFile9.png

11.「sortg.txt | uniq -u」と入力し、Enterキーを押して、重複行を削除した結果が表示されることを確認します(重複行は表示しません)。

LinuxCombinFile10.png

12. sortコマンドは、表示された結果の重複行のみを削除し、ファイルは変更しません。「cat g.txt」コマンドを入力してファイルの内容を表示すると、結果は元のファイルと同じになります。 。

LinuxCombinFile17.png

 

ファイルの和集合と共通部分と補集合

注:ファイルの補完や交差などの操作では、ファイルの内容に重複する行がないことを確認する必要があります。
13.「cata.txtb.txt | sort | uniq> h.txt」コマンドを入力して、a.txtファイルとb.txtファイルをh.txtにマージします(2つのソースファイルに重複する行がある場合は、1行のみ保持されます)、および「cat h.txt」と入力して、h.txtファイルの内容を表示します。

LinuxCombinFile11.png

14.「cata.txtb.txt | sort | uniq -c> h1.txt」コマンドを入力して、a.txtファイルとb.txtファイルをh1.txtにマージします(-cパラメーターは次の出現回数を示します。各行)、および「cat h1.txt」と入力して、h.txtファイルの内容を表示します。

LinuxCombinFile19.png

15.「cata.txtb.txt | sort | uniq -d> i.txt」コマンドを入力して(-dパラメーターは重複行のみが表示されることを示します)、a.txtとb.txtの共通部分をに出力します。 i.txtをクリックし、「cat i.txt」と入力して、ファイルの内容を表示します。
     注:b.txtには重複する行があるため、出力ファイルの内容は正しくありません。

LinuxCombinFile12.png

16.「sortb.txt | uniq> b1.txt」コマンドを入力してb.txtの重複行を削除し(残り1行のみ)、結果をb1.txtファイルとして出力し、「catb1」と入力します。 txt」をクリックして、ファイルの内容を表示します。

LinuxCombinFile13.png

17.「cata.txtb1.txt | sort | uniq -d> j.txt」コマンドを入力して(-dパラメーターは重複行のみが表示されることを示します)、a.txtとb1.txtの共通部分をに出力します。 j.txtに入力し、「catj.txt」と入力してファイルの内容を表示します。
     注:b1.txtには重複する行がないため、出力ファイルの内容は正しいです。

LinuxCombinFile14.png

18.「cata.txtb.txt | sort | uniq -u> k.txt」コマンドを入力します(-uパラメーターは、ファイル内の重複しない行のみが表示されることを意味します)。a.txtの共通部分が削除されます。およびb.txtファイル(111および777)、およびその他のコンテンツをk.txtに出力するには、「catk.txt」と入力してファイルのコンテンツを表示します。
    注:b.txtファイルの内容に重複する行(2行のaaaとbbb)があるため、出力ファイルの内容は正しくありません。

LinuxCombinFile15.png

19.「cata.txtb1.txt | sort | uniq -u> k1.txt」コマンドを入力します(-uパラメーターは、ファイル内の重複していない行のみが表示されることを意味します)。a.txtとの共通部分が削除されます。 b1.txt(111および777)、およびその他のコンテンツをk1.txtに出力し、「cat k.txt」と入力して、ファイルのコンテンツを表示します。
    注:b1.txtファイルには重複する行がないため、出力ファイルの内容は正しいです。

LinuxCombinFile18.png

 

 

おすすめ

転載: blog.csdn.net/whatday/article/details/113773283