Linux データ分析の要点: 9 つの実践的なコマンド
データ分析は、今日最も人気のあるスキルの 1 つであり、大量のデータから貴重な情報を抽出し、意思決定とイノベーションをサポートするのに役立ちます。ただし、効果的なデータ分析を行うには、関連する理論や手法を習得するだけでなく、いくつかのツールやプラットフォームの使用に習熟する必要があります。 Linux システムは、データ アナリストが一般的に使用するオペレーティング システムの 1 つで、さまざまなデータの問題に対処するのに役立つ強力で柔軟なコマンドが多数用意されています。この記事では、Linux システムでデータ分析によく使用される 9 つのコマンドとその機能と使い方を紹介します。 Linux の初心者でもベテランでも、これらのコマンドを使用すると、データ分析作業がより効率的かつ便利になります。

1. 頭と尻尾
まず、ファイル処理から始めましょう。ファイルの内容は何ですか? その形式は何ですか? cat コマンドを使用してターミナルにファイルを表示できますが、明らかに長い内容を含むファイルの処理には適していません。
head と tail を入力すると、ファイル内の指定された行数を完全に表示できます。行数を指定しない場合は、デフォルトで 10 行が表示されます。
リーリー最後の 3 行で、日付、著者名、タイトル、その他の情報を見つけることができました。ただし、列ヘッダーがないため、各列の具体的な意味がわかりません。以下の各コラムの具体的なタイトルを確認してください:
リーリーこれで、すべてが非常に明確になり、発行日、コンテンツ タイプ、著者、タイトル、投稿数、関連 URL、各記事のタグ、単語数が表示されます。
2.トイレ
しかし、何百、あるいは何千もの記事を分析する必要がある場合はどうすればよいでしょうか? ここでは、「word count」の略語である wc コマンドを使用する必要があります。 wc は、ファイルのバイト、文字、単語、または行をカウントできます。この例では、記事の行数を知りたいと考えています。
- $ wc -l jan2017articles.csv 93 jan2017articles.csv
このファイルには合計 93 行があり、最初の行にファイルのタイトルが含まれていることから、このファイルは 92 件の記事のリストであると推測できます。
3. grep
以下に新しい質問が提起されています: これらの記事のうち、セキュリティに関するトピックに関連する記事はいくつありますか? 目標を達成するには、必須の記事のタイトル、タグ、またはその他の場所でセキュリティという単語が言及されていると想定します。現時点では、grep ツールを使用して、特定の文字でファイルを検索したり、他の検索パターンを実装したりできます。これは、正規表現を使用して非常に正確な一致パターンを作成することもできるため、非常に強力なツールです。ただし、ここでは単純な文字列を見つけるだけで済みます。
リーリー4 セキュリティ関連の記事。検索範囲がより具体的な場合は、パイプを使用できます。これにより、 grep と wc コマンドを組み合わせて、セキュリティ コンテンツに言及している行が何行あるかを確認できます。
リーリーこのようにして、wc は grep コマンドの出力を抽出し、それを入力として使用します。この組み合わせと、少しのシェル スクリプトを組み合わせることで、ターミナルが即座に強力なデータ分析ツールに変わることは明らかです。
4、tr
ほとんどの分析シナリオでは、CSV ファイルを使用しますが、さまざまなアプリケーション方法を実現するために、CSV ファイルを他の形式に変換するにはどうすればよいでしょうか? ここでは、テーブルを使用してデータを使用するために、CSV ファイルを HTML 形式に変換します。 tr コマンドは、あるタイプの文字を別のタイプに変換できるので、この目標を達成するのに役立ちます。同様に、パイプ コマンドを使用して出力/入力のドッキングを実現することもできます。
次に、別のマルチパートの例を試してみましょう。これは、1 月 20 日に公開された記事のみを含む TSV (タブ区切り値) ファイルを作成することです。
リーリーまず、日付クエリに grep を使用します。この結果を tr コマンドにパイプし、後者を使用してすべてのカンマをタブ (「/t」として表します) に置き換えます。しかし、結果はどこに行くのでしょうか? ここでは、> 文字を使用して、結果を画面ではなく新しいファイルに出力します。このようにして、dqywjan20only.tsv ファイルに予期したデータが含まれていることを確認できます。
$ cat jan20only.tsv 20 Jan 2017 Article Kushal Das 5 ways to expand your project's contributor base 2 /article/17/1/expand-project-contributor-base Getting started 690 20 Jan 2017 Article D Ruth Bavousett How to write web apps in R with Shiny 2 /article/17/1/writing-new-web-apps-shiny Web development 218 20 Jan 2017 Article Jason Baker "Top 5: Shell scripting the Cinnamon Linux desktop environment and more" 0 /article/17/1/top-5-january-20 Top 5 214 20 Jan 2017 Article Tracy Miranda How is your community promoting diversity? 1 /article/17/1/take-action-diversity-tech Diversity and inclusion 1007
五、sort
如果我们先要找到包含信息最多的特定列,又该如何操作?假设我们需要了解哪篇文章包含最长的新文章列表,那么面对之前得出的1月20日文章列表,我们可以使用sort命令对列字数进行排序。在这种情况下,我们并不需要使用中间文件,而可以继续使用pipe。不过将长命令链拆分成较短的部分往往能够简化整个操作过程。
- ‘/t’ -k8 jan20only.tsv | head -n 1
- 20 Jan 2017 Article Tracy Miranda How is your community promoting diversity? 1 /article/17/1/take-action-diversity-tech Diversity and inclusion 1007
以上是一条长命令,我们尝试进行拆分。首先,我们使用sort命令对字数进行排序。-nr选项告知sort以数字排序,并将结果进行反向排序(由大到小)。此后的-t则告知其中的分隔符为。其中的要求此shell为一条需要处理的字符串,并将/n返回为tab。而-k8部分则告知sort命令使用第八列,即本示例中进行字数统计的目标列。
最后,输出结果被pipe至head,处理后在结果中显示此文件中包含最多字数的文章标题。
六、sed
大家可能还需要在文件中选择特定某行。这里可以使用sed。如果希望将全部包含标题的多个文件加以合并,并只为整体文件显示一组标题,即需要清除额外内容; 或者希望只提取特定行范围,同样可以使用sed。另外,sed还能够很好地完成批量查找与替换任务。
下面立足之前的文章列表创建一个不含标题的新文件,用于同其他文件合并(例如我们每月都会定期生成某个文件,现在需要将各个月份的内容进行合并)。
- $ sed ‘1 d’ jan2017articles.csv > jan17no_headers.csv
其中的“1 d”选项要求sed删除第一行。
七、cut
了解了如何删除行,那么我们该如何删除列?或者说如何只选定某一列?下面我们尝试为之前生成的列表创建一份新的作者清单。
- $ cut -d’,’ -f3 jan17no_headers.csv > authors.txt
在这里,通过cut与-d相配合代表着我们需要第三列(-f3),并将结果发送至名为authors.txt的新文件。
八、uniq
作者清单已经完成,但我们要如何知悉其中包含多少位不同的作者?每位作者又各自编写了多少篇文章?这里使用unip。下面我们对文件进行sort排序,找到唯一值,而后计算每位作者的文章数量,并用结果替换原本内容。
- sort authors.txt | uniq -c > authors.txt
现在已经可以看到每位作者的对应文章数,下面检查最后三行以确保结果正确。
- $ tail -n3 authors-sorted.txt
- 1 Tracy Miranda
- 1 Veer Muchandi
- 3 VM (Vicky) Brasseur
九、awk
最后让我们了解最后一款工具,awk。awk是一款出色的替换性工具,当然其功能远不止如此。下面我们重新回归1月12日文章列表TSV文件,利用awk创建新列表以标明各篇文章的作者以及各作者编写的具体字数。
- $ awk -F "/t" ‘{print NF}’ jan20only.tsv
- クシャル・ダス 690
- D ルース・バブーセット 218
- ジェイソン・ベイカー 214
- トレイシー・ミランダ 1007
-F "/t" は、タブで区切られたデータを現在処理していることを awk に伝えるために使用されます。中括弧内に awk に実行コードを指定します。 は 3 行目を出力することを意味し、NF は最後の行 (つまり、「フィールド数」の省略形) を出力し、間に 2 つのスペースを追加することを意味します。 2 つの結果。分割を明確にします。
ここに挙げた例は小さいため、上記のツールを使用する必要はないようですが、範囲が 93,000 行を含むファイルに拡張されると、スプレッドシート プログラムを使用して処理するのは明らかに困難になります。
これらのシンプルなツールと小さなスクリプトを使用すると、データベース ツールの使用を回避し、大量のデータ統計作業を簡単に完了できます。プロでもアマチュアでも、その役割は無視できません。
この記事では、Linux システムでのデータ分析によく使用される 9 つのコマンドとその機能と使用法について学びました。これらのコマンドは、ファイル操作、ディレクトリ管理、出力リダイレクト、パイプ、リンクなどをカバーしており、Linux システムでのさまざまなデータ処理と分析の実行に役立ちます。もちろん、これらのコマンドは、Linux システムが提供する多くのコマンドの一部にすぎません。Linux システムとデータ分析についてさらに詳しく知りたい場合は、引き続き調査と練習を続ける必要があります。この記事があなたの学習や仕事に役立つことを願っています。また、あなたが使用したり発見した他の実用的な Linux コマンドを共有することも歓迎します。
以上がLinux データ分析の要点: 9 つの実践的なコマンドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Centosとubuntuの重要な違いは次のとおりです。起源(CentosはRed Hat、for Enterprises、UbuntuはDebianに由来します。個人用のDebianに由来します)、パッケージ管理(CentosはYumを使用し、安定性に焦点を当てます。チュートリアルとドキュメント)、使用(Centosはサーバーに偏っています。Ubuntuはサーバーやデスクトップに適しています)、その他の違いにはインストールのシンプルさが含まれます(Centos is Thin)

Centosのインストール手順:ISO画像をダウンロードし、起動可能なメディアを燃やします。起動してインストールソースを選択します。言語とキーボードのレイアウトを選択します。ネットワークを構成します。ハードディスクをパーティション化します。システムクロックを設定します。ルートユーザーを作成します。ソフトウェアパッケージを選択します。インストールを開始します。インストールが完了した後、ハードディスクから再起動して起動します。

Centosは、上流の分布であるRhel 8が閉鎖されたため、2024年に閉鎖されます。このシャットダウンはCentos 8システムに影響を与え、更新を継続し続けることができません。ユーザーは移行を計画する必要があり、提案されたオプションには、Centos Stream、Almalinux、およびRocky Linuxが含まれ、システムを安全で安定させます。

Centosシステムの下でのGitlabのバックアップと回復ポリシーデータセキュリティと回復可能性を確保するために、Gitlab on Centosはさまざまなバックアップ方法を提供します。この記事では、いくつかの一般的なバックアップ方法、構成パラメーター、リカバリプロセスを詳細に紹介し、完全なGitLabバックアップと回復戦略を確立するのに役立ちます。 1.手動バックアップGitlab-RakeGitlabを使用:バックアップ:コマンドを作成して、マニュアルバックアップを実行します。このコマンドは、gitlabリポジトリ、データベース、ユーザー、ユーザーグループ、キー、アクセスなどのキー情報をバックアップします。デフォルトのバックアップファイルは、/var/opt/gitlab/backupsディレクトリに保存されます。 /etc /gitlabを変更できます

DockerはLinuxカーネル機能を使用して、効率的で孤立したアプリケーションランニング環境を提供します。その作業原則は次のとおりです。1。ミラーは、アプリケーションを実行するために必要なすべてを含む読み取り専用テンプレートとして使用されます。 2。ユニオンファイルシステム(UnionFS)は、違いを保存するだけで、スペースを節約し、高速化する複数のファイルシステムをスタックします。 3.デーモンはミラーとコンテナを管理し、クライアントはそれらをインタラクションに使用します。 4。名前空間とcgroupsは、コンテナの分離とリソースの制限を実装します。 5.複数のネットワークモードは、コンテナの相互接続をサポートします。これらのコア概念を理解することによってのみ、Dockerをよりよく利用できます。

CentOSハードディスクマウントは、次の手順に分割されます。ハードディスクデバイス名(/dev/sdx)を決定します。マウントポイントを作成します( /mnt /newdiskを使用することをお勧めします);マウントコマンド(Mount /dev /sdx1 /mnt /newdisk)を実行します。 /etc /fstabファイルを編集して、永続的なマウント構成を追加します。 Umountコマンドを使用して、デバイスをアンインストールして、プロセスがデバイスを使用しないことを確認します。

Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

CentOSが停止した後、ユーザーは次の手段を採用して対処できます。Almalinux、Rocky Linux、Centosストリームなどの互換性のある分布を選択します。商業分布に移行する:Red Hat Enterprise Linux、Oracle Linuxなど。 Centos 9ストリームへのアップグレード:ローリングディストリビューション、最新のテクノロジーを提供します。 Ubuntu、Debianなど、他のLinuxディストリビューションを選択します。コンテナ、仮想マシン、クラウドプラットフォームなどの他のオプションを評価します。
