Linux でのファイル コンテンツの重複排除と交差と差異の実装

Linux でのファイル コンテンツの重複排除と交差と差異の実装

1. データ重複排除

日常業務では、Hive や Impala を使用してクエリとエクスポートを行う際にデータの重複が発生することがありますが、クエリを再実行したくない (クエリ時間が少し長く、エクスポートされたファイルの内容が大きい) ため、Linux コマンドを使用してファイルの内容から重複データを削除することを考えます。

次に例を示します。

aaa.txxには3つの重複データがあることがわかります。

重複したデータを削除して1つだけ残したい

aaa.txt | uniq > bbb.txt を並べ替える

aaa.txt ファイルから重複データを削除し、bbb.txt に出力します。

bbb.txtファイルには1つのデータのみが保存されていることがわかります。

2. データの交差、結合、差異

1) 交差 (user_2019 の内部結合 user_2020 と user_2019.user_no=user_2020.user_no の結合に相当)

sort user_2019.txt user_2020.txt | uniq -d

2) ユニオン(user_2019.user_no union user_2020.user_noに相当)

sort user_2019.txt user_2020.txt | uniq

3) 違い

user_2019.txt-user_2020.txt

user_2019.txt を user_2020.txt で並べ替え user_2020.txt | uniq -u

user_2020.txt - user_2019.txt:

user_2020.txt を user_2019.txt で並べ替え user_2019.txt | uniq -u

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Linux で AIDE に基づいてファイルシステムの整合性を検出する方法
  • Linux システムで Vim を使用してリモート ファイルを読み書きするコマンドの詳細な説明
  • Linuxシステムにおける仮想デバイスファイルのさまざまな実用的な使用法の詳細な説明
  • Linux で実行可能ファイルを実行するときに「そのようなファイルまたはディレクトリはありません」というプロンプトが表示される場合の解決策
  • Linuxで大きなファイルを素早くコピーする方法
  • Linuxファイル削除後にスペースが解放されない問題の詳しい説明
  • Linux ファイル管理コマンド例の分析 [表示、閲覧、統計など]

<<:  MySQLのロングトランザクションに関する深い理解

>>:  jsを使ってシンプルなディスククロックを実現する

推薦する

HTML+CSSを使用してマウスの動きを追跡する

ユーザーがプライバシーを意識するようになり、オンライン トラッキングに対する予防策を強化するにつれて...

JS 非同期実行の原則とコールバックの詳細

1. JSの非同期実行の原則JavaScript はシングルスレッドですが、ブラウザはマルチスレッド...

タブバーのいくつかの実装方法(推奨)

タブ: カテゴリ + 説明タグバー: カテゴリ => ユーザーに現在地と目的地を知らせる1. ...

MySQLサブクエリでorder byが効かない問題の解決方法

偶然にも、SQL ステートメントを異なる MySQL インスタンスで実行すると、異なる結果が生成され...

Mysql データベースの日付と日時型でデフォルト値 0000-00-00 を設定するときに発生するエラー問題の詳細な説明

現象: MySQL バージョン 5.7 以降では、日付型と日付時刻型のデフォルト値が「0000-00...

CSS3はトランジション効果を実現するためにtransitionプロパティを使用する。

物件の詳細な説明transition 属性の目的は、一部の CSS プロパティ (背景など) をスム...

MySQLがOracleのnvlと同様の機能を持つことができるかどうかについての簡単な議論

isnullの代わりにifnullを使用するisnull は、null かどうかを判断するために使用...

ファイル操作のためのLinuxシステムコール

目次1. ファイルを開くパラメータの紹介2. ファイルの読み取り3. ファイルを書き込む4. 閉じる...

LinuxシステムにDockerをインストールするプロセス

このブログでは、Docker をインストールするプロセスを簡単な手順で説明します。Docker のイ...

ウェブサイトのハイパーリンクを開く方法に関する議論

新しいウィンドウが開きます。 利点: ユーザーがリンクをクリックしても、現在閲覧しているコンテンツは...

HTML Selectは、デフォルトの選択を設定するためにselected属性を使用します。

オプションに属性 selected = "selected" を追加すると、それ...

Ubuntu 18.04.4 に MySQL をインストールするプロセスの詳細な説明

Ubuntu 18.04.4 に MySQL をインストールするプロセスを見てみましょう。内容は次の...

Windows で MySQL 5.7.17 をインストールし、エンコードを utf8 に設定する方法

ダウンロードMySQL 公式ダウンロード、Windows (x86、64 ビット)、ZIP アーカイ...

Vueは移動可能なフローティングボタンを実装します

この記事の例では、どこにでも移動できるフローティングボタンを実現するためのVueの具体的なコードを共...

開発をスピードアップできる VueUse ライブラリ 5 つ (まとめ)

目次VueUse にはどのようなユーティリティがありますか? VueUseをVueプロジェクトにイン...