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 サイトの他の関連記事を参照してください。

インターネットは単一のオペレーティングシステムに依存していませんが、Linuxはその上で重要な役割を果たしています。 Linuxは、サーバーやネットワークデバイスで広く使用されており、安定性、セキュリティ、スケーラビリティに人気があります。

Linuxオペレーティングシステムのコアは、コマンドラインインターフェイスで、コマンドラインを介してさまざまな操作を実行できます。 1.ファイルおよびディレクトリ操作は、ファイルとディレクトリを管理するために、LS、CD、MKDIR、RM、その他のコマンドを使用します。 2。ユーザーおよび許可管理は、useradd、passwd、chmod、その他のコマンドを介してシステムのセキュリティとリソースの割り当てを保証します。 3。プロセス管理は、PS、Kill、およびその他のコマンドを使用して、システムプロセスを監視および制御します。 4。ネットワーク操作には、Ping、Ifconfig、SSH、およびネットワーク接続を構成および管理するためのその他のコマンドが含まれます。 5.システムの監視とメンテナンスは、TOP、DF、DUなどのコマンドを使用して、システムの動作ステータスとリソースの使用を理解します。

導入 Linuxは、柔軟性と効率性により、開発者、システム管理者、およびパワーユーザーが好む強力なオペレーティングシステムです。しかし、頻繁に長く複雑なコマンドを使用することは退屈でERです

Linuxは、サーバー、開発環境、埋め込みシステムに適しています。 1.サーバーオペレーティングシステムとして、Linuxは安定して効率的であり、多くの場合、高電流アプリケーションの展開に使用されます。 2。開発環境として、Linuxは効率的なコマンドラインツールとパッケージ管理システムを提供して、開発効率を向上させます。 3.埋め込まれたシステムでは、Linuxは軽量でカスタマイズ可能で、リソースが限られている環境に適しています。

はじめに:Linuxベースの倫理的ハッキングでデジタルフロンティアを保護します ますます相互に接続されている世界では、サイバーセキュリティが最重要です。 倫理的なハッキングと浸透テストは、脆弱性を積極的に特定し、緩和するために不可欠です

基本的なLinux学習の方法は次のとおりです。1。ファイルシステムとコマンドラインインターフェイス、2。LS、CD、MKDIR、3。ファイルの作成と編集などのファイル操作を学習するマスター基本コマンド、4。

Linuxは、サーバー、組み込みシステム、デスクトップ環境で広く使用されています。 1)サーバーフィールドでは、Linuxは、その安定性とセキュリティにより、Webサイト、データベース、アプリケーションをホストするための理想的な選択肢となっています。 2)埋め込みシステムでは、Linuxは高いカスタマイズと効率で人気があります。 3)デスクトップ環境では、Linuxはさまざまなユーザーのニーズを満たすために、さまざまなデスクトップ環境を提供します。

Linuxの欠点には、ユーザーエクスペリエンス、ソフトウェア互換性、ハードウェアサポート、学習曲線が含まれます。 1.ユーザーエクスペリエンスは、WindowsやMacOほどフレンドリーではなく、コマンドラインインターフェイスに依存しています。 2。ソフトウェアの互換性は他のシステムほど良くなく、多くの商用ソフトウェアのネイティブバージョンがありません。 3.ハードウェアサポートはWindowsほど包括的ではなく、ドライバーは手動でコンパイルされる場合があります。 4.学習曲線は急で、コマンドラインの操作をマスターするには時間と忍耐が必要です。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

WebStorm Mac版
便利なJavaScript開発ツール
