このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

新Linuxコマンド演習43

新Linuxコマンド演習43 概要

 「新Linuxコマンド演習43」では、テキストファイルから指定した部分を切り出す cutコマンド と、ファイルの行数・単語数・バイト数を確認できる wcコマンド を学びます。
これらはデータ加工やログ解析などの場面で頻繁に使われる基本的なコマンドです。
 また、パイプ | を使って複数コマンドを組み合わせることで、より柔軟なテキスト処理を体験します。

cutコマンドの主なオプション

オプション説明使用例
-d 区切り文字データを区切る文字を指定する。cut -d: -f2 data.txt
-f フィールド番号抽出するフィールド(列)を指定する。cut -f1,3 data.txt
--complement指定したフィールドを除いて表示cut --complement -f2 data.txt

表の説明
cut コマンドは、テキストファイルを列単位で切り出すために使用します。
 特にログやCSVなど、特定の区切り文字( : , Tabなど)で構成されたファイルから必要な情報だけを取り出すときに便利です。

wcコマンドの主なオプション

オプション説明使用例
-l行数を表示wc -l /etc/passwd
-w単語数を表示wc -w /etc/hosts
-cバイト数を表示wc -c data.txt
-m文字数を表示wc -m data.txt
-L最長行の長さを表示wc -L data.txt

表の説明
wc は word count(単語数カウント) の略で、ファイルの行数・単語数・バイト数を表示します。
ログサイズの確認や出力量のチェックなど、テキスト分析の基礎操作に役立ちます。

演習問題+模範解答例

演習01:data.txtファイルを作成する

問題
以下の内容を持つ data.txt ファイルを作成してください。

data.txt の内容

1:orange:オレンジ
11:grape:ぶどう
13:peach:もも
53:cherry:さくらんぼ
997:apple:りんご
21:melon:メロン
8:banana:バナナ

模範解答例

[suzuki@AlmaLinux ~]$ nano data.txt
(上記の内容を入力し : Ctrl + s で保存)

解説
このファイルは「番号:英単語:日本語訳」という形式になっており、
後の演習で cut や wc の動作を確認するための練習用データとして使用します。

演習02:cutコマンドで英単語を抽出する

問題
data.txt から2番目のフィールド(英単語)だけを抽出してください。

模範解答例

[suzuki@AlmaLinux ~]$ cut -d: -f2 data.txt
orange
grape
peach
cherry
apple
melon
banana

解説

  • -d: は「区切り文字として : を使用する」指定です。
  • -f2 は「2列目のフィールドを抽出する」指定です。
  • これにより、英単語の列だけを抜き出せます。

演習03:cutとsortを組み合わせて英単語を並べ替える

問題
data.txt から英単語を抽出し、辞書順にソートしてください。

模範解答例

[suzuki@AlmaLinux ~]$ cut -d: -f2 data.txt | sort
apple
banana
cherry
grape
melon
orange
peach

解説

  • パイプ | によって cut の出力結果を sort に渡しています。
  • cut → 抽出、sort → 並び替え という流れで、
    コマンドを組み合わせることで効率的にデータ整形ができます。

演習04:wcコマンドでファイルの情報を確認する

問題
/etc/passwd と /etc/hosts の行数・単語数・バイト数を確認してください。

模範解答例

[suzuki@AlmaLinux ~]$ wc /etc/passwd
  39   82 2127 /etc/passwd
[suzuki@AlmaLinux ~]$ wc /etc/hosts
   2   10  158 /etc/hosts

解説

  • 出力の順序は 「行数 単語数 バイト数」 です。
  • /etc/passwd はシステムユーザー情報、/etc/hosts はホスト名とIPアドレスの対応表です。

演習05:パイプを使って単語数をカウントする

問題
echo コマンドの出力を wc に渡して、単語数を数えてください。

模範解答例

[suzuki@AlmaLinux ~]$ echo "Hello world, how are you?" | wc -w
5

解説

  • wc -w は単語数を数えます。
  • パイプを使うことで、ファイルだけでなく標準出力のテキストも解析可能です。

演習06:入力リダイレクトで行数と単語数を数える

問題
リダイレクト < を使って、/etc/passwd の行数と単語数を表示してください。

模範解答例

[suzuki@AlmaLinux ~]$ wc -l -w < /etc/passwd
49 96

解説

  • < はファイルの内容をコマンドの標準入力として渡す機能です。
  • この方法では、純粋な数値結果だけを得られます。

演習終了時の作業:ファイル削除

問題
この演習で作成した data.txt を削除してください。

模範解答例

[suzuki@AlmaLinux ~]$ rm data.txt
[suzuki@AlmaLinux ~]$ ls
Desktop    Downloads  Pictures  Templates
Documents  Music      Public    Videos

解説
学習用ファイルを削除して環境を整理します。
誤って重要ファイルを削除しないよう注意しましょう。

まとめ

新Linuxコマンド演習43」では、以下の内容を学びました。

  • cutコマンド:区切り文字でフィールドを抽出する。
  • wcコマンド:行数・単語数・バイト数を確認できる。
  • パイプ( | ):コマンドを連携させて効率的なデータ処理が可能。

 これらのコマンドを組み合わせることで、テキスト処理の基本操作を自動化し、Linuxの柔軟な操作性をさらに理解できます。