この記事では主に、Linux でデータベース ファイルの統計と重複排除を実装する方法について説明します。興味のある方はぜひ学習してください。
1. データベース テーブルをテキスト ファイルにエクスポートします
mysql -h ホスト -P ポート -u ユーザー -p パスワード -A データベース -e "select email,domain,time from ent_login_01_000" > ent_login_01_000.txt
過去 3 か月間のログイン ユーザーの合計がカウントされ、月ごとにテーブルに分割されます。月ごとに 128 のテーブルがあり、すべてファイルにエクスポートされ、合計 80G になります。
2. grep は、2018-12 2019-01 2019-02
find ./ -type f -name " をすべて検索します。 ent_login_*" | xargs cat |grep "2018-12" > 2018-12.txt
find ./ -type f -name "ent_login_*" |xargs cat |grep "2019-01" > 2019-01 .txt
find ./ -type f -name "ent_login_*" |xargs cat |grep "2019-02" > 2019-02.txt
3. 削除のみに awk sort と uniq を使用します。前のユーザー、そして最初に重複行に移動します
cat 2019-02.txt|awk -F " " '{print $1"@"$2}'|sort -T /mnt/public/phpdev/ 187_test/tmp/|uniq > 2019-02-awk-sort-uniq.txt
cat 2019-01.txt|awk -F " " '{print $1"@"$2}'|sort - T /mnt/public/ phpdev/187_test/tmp/|uniq > 2019-01-awk-sort-uniq.txt
cat 2018-12.txt|awk -F " " '{print $1" @"$2}'| sort -T /mnt/public/phpdev/187_test/tmp/|uniq > 2018-12-awk-sort-uniq.txt
uniq は連続した重複行を削除するだけで、sort は実行できます。 -T は /tmp の一時ディレクトリがデフォルトで占有されているためです。ルート ディレクトリだけでは不十分なので、一時ディレクトリを変更しました。
これらのファイルは 100 G# を超えています
## もっと詳しく知りたい Linux チュートリアルについては、PHP 中国語 Web サイトのLinux Video Tutorials に注目してください。
以上が統計と重複排除のために Linux でデータベース ファイルをエクスポートするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。