Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxについて >> Linuxファイルの重複データ行をすばやく削除する方法

Linuxファイルの重複データ行をすばやく削除する方法

  

Linuxシステムの運用において、ファイル内のデータが多すぎる場合は、重複データ行を削除するのが非常に面倒です。データ行が重複していますか?次の小さなシリーズでは、重複するデータ行を削除する方法を紹介します。見てみましょう。

A、重複データを削除し、隣接する行

のコードは次のとおりです。

$猫data1.txt |  Uniq

出力:

beijing

wuhan

beijing

wuhan

次に、重複しているデータをすべて削除します。行

コードは次のとおりです。

$ cat data1.txt |  並べ替え|  Uniq

注:

隣接する重複データ行を削除するには、uniqコマンドのみが使用されます。

最初にソートすると、すべての重複データ行が隣接するデータ行に変換され、uniqの場合、すべての重複データ行が削除されます。

出力:

北京

武漢

添付:data1.txt

コードは以下のとおりです。

[root] @syy〜]#cat data1.txt

北京

北京

武漢

武漢

武漢

北京

北京

北京

wuhan

wuhan

注:フィルタログのIPアドレスは便利です。

Linuxでビッグデータファイル内の重複したフィールドを1行削除する

最近作成されたデータ収集プログラムでは、1000万行を超えるデータを含むファイルが生成されました。要件に応じて、2番目のフィールドの重複行を削除する必要があり、それを見つけたときに正しいツールが見つからない場合sed /gawkなどのストリーム処理ツールでは1行ずつ処理され、繰り返しフィールドのある行は見つかりません。私はプログラムをpythonで実行しなければならないようで、突然mysqlを使用することを考えたので、私は大きく動いた:

1. mysqlimport --local dbname data.txtを使用してデータをテーブルにインポートする。一貫性のある

2.次のsql文を実行します(一意のフィールドがuniqfieldである必要があります)。

コードは次のとおりです。

use dbname;

alter table tablename add rowid int auto_incrementがNULLではありません;

テーブルを作成t uniqfieldで、テーブル名グループから行IDとしてmin(rowid)を選択します。 .rowid; "/p" "p"テーブルtablenameの削除;

テーブルt2の名前をtablenameに変更;

上記はLinuxで重複データ行を削除する方法です。この記事ではさまざまな方法を紹介しますファイルの重複したデータ行を削除する場合、私はあなたを助けたいと思います。

Copyright © Windowsの知識 All Rights Reserved