データのソートと重複排除(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 UIDuniq で重複を除去する
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 -5cut で列を抽出する
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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 高度なテキスト操作(sed、awk)
- アーカイブと圧縮(tar、gzip、unzip)
- ディスク使用量とシステム情報(df、du、uname)
- データのソートと重複排除(sort、uniq、cut)