0Pricing
Linux Command Line & Bash Scripting Mastery · レッスン

データのソートと重複排除(sort、uniq、cut)

生のテキストを、整理された順序付きデータに変換します。行のソート、uniqによる重複削除、cutによる列の抽出を学び、それらをパイプラインで連結します。

「データのソートと重複排除(sort、uniq、cut)」はCoddyKit上の無料Linux Command Line & Bash Scripting Masteryレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはLinux Command Line & Bash Scripting Mastery学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Linux Command Line & Bash Scripting Masteryコースには全4レッスンが含まれています。

テキストデータを整形する

ログファイルや CSV は、単なるテキスト行の集まりです。代表的な3つのツールで整形できます。sort は行を並べ替え、uniq は重複を除去し、cut は列を抽出します。

基本的な並べ替え

sort はデフォルトで行をアルファベット順に並べ替え、結果を出力します。

sort names.txt

数値として並べ替える

通常の sort は数値をテキストとして扱うため、10 が 2 より前になります。正しい数値順にするには -n を使い、逆順にするには -r を使います。

sort -n sizes.txt
sort -nr sizes.txt   # largest first

フィールドで並べ替える

特定の列で並べ替えるには -k を使い、区切り文字を設定するには -t を使います。

sort -t: -k3 -n /etc/passwd   # by UID

uniq で重複を除去する

uniq は連続する重複行をまとめます。並べ替え済みの入力に対してのみ機能するため、ほとんどの場合 sort と組み合わせて使います。

sort access.log | uniq

出現回数を数える

uniq -c は各行の先頭に出現回数を付けます。頻度分析に最適です。

sort ips.txt | uniq -c

上位の項目を見つける

sort、uniq -c、さらに別の sort を組み合わせると、出現頻度で項目を順位付けできます。1行で「上位 N 件」のレポートを作成できます。

sort ips.txt | uniq -c | sort -nr | head -5

cut で列を抽出する

cut は各行からフィールドを取り出します。区切り文字には -d、フィールド番号には -f を使います。

cut -d, -f1,3 data.csv   # 1st and 3rd columns

文字位置で切り出す

cut -c は位置を指定して文字範囲を抽出します。固定幅データに便利です。

cut -c1-8 dates.txt   # first 8 chars

一意な行と重複行

uniq -d は繰り返し出現する行だけを表示し、uniq -u は1回だけ出現する行だけを表示します。

sort orders.txt | uniq -d   # repeated only

パイプラインを構築する

真価を発揮するのは、列を抽出し、並べ替え、重複しない値を数えるという処理を連結して、1つのコマンドでデータセットを要約するときです。

cut -d, -f2 sales.csv | sort | uniq -c | sort -nr

クイックチェック

理解度を確認しましょう。

まとめ

sort(アルファベット順、数値順の -n、フィールド単位の -k)、uniq(連続行の重複除去、-c でカウント、-d/-u)、cut(-d/-f でフィールド、-c で文字)を使って、データを整形する方法を学びました。これらを連結すると、強力なパイプラインを構築できます。

よくある質問

「データのソートと重複排除(sort、uniq、cut)」レッスンは無料ですか?

はい。「データのソートと重複排除(sort、uniq、cut)」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Linux Command Line & Bash Scripting Masteryコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Linux Command Line & Bash Scripting Masteryコースには全4レッスンが含まれています。

「データのソートと重複排除(sort、uniq、cut)」で何を学びますか?

生のテキストを、整理された順序付きデータに変換します。行のソート、uniqによる重複削除、cutによる列の抽出を学び、それらをパイプラインで連結します。 ブラウザで直接実行するハンズオンコードでLinux Command Line & Bash Scripting Masteryを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Linux Command Line & Bash Scripting Masteryを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのLinux Command Line & Bash Scripting Masteryは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「データのソートと重複排除(sort、uniq、cut)」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このLinux Command Line & Bash Scripting Masteryレッスンでコードを書いて実行できますか?

はい。すべてのLinux Command Line & Bash Scripting Masteryレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 高度なテキスト操作(sed、awk)
  2. アーカイブと圧縮(tar、gzip、unzip)
  3. ディスク使用量とシステム情報(df、du、uname)
  4. データのソートと重複排除(sort、uniq、cut)
← Linux Command Line & Bash Scripting Masteryに戻る