Linux の代表的なテキスト処理ツールを使い、コマンドライン上の生のテキストを実用的で再現可能な結果へ変換します。このハンズオンコースでは、sed をストリームエディター、awk をフィールド指向の処理言語として捉える考え方を身につけ、壊れやすい使い捨てコマンドを組み合わせるのではなく、目的に合ったツールを選べるようになります。
サンプルテキスト、CSV 形式のデータ、/etc/passwd、Web サーバーログを扱います。短いガイド付き演習を重ね、最後はログのクリーニング、HTTP ステータスコードの抽出、404 応答の集計、エラー率の計算、簡潔なレポートの生成を行うシステムレポート課題に取り組みます。
学習内容
sedの置換コマンドで最初の一致またはすべての一致を置換する- 読みやすい区切り文字を選び、バックアップを残してファイルを直接編集する
sedのアドレスとコマンドで行を削除、挿入、選択表示する- 独自の区切り文字や
$NFによる最終フィールドを含め、awkでフィールドを抽出する - 数値条件やテキストパターンでレコードを絞り込み、
NRで出力に行番号を付ける BEGIN、レコードごとの処理、変数、ENDでawkの処理を構成する- 値の合計、条件付き件数、割合を計算し、レポートを整形する
このコースの対象者
この中級コースは、大きなプログラムを書かずに構造化テキストを調査・変換したい Linux ユーザー、システム管理者、DevOps 学習者、開発者を対象としています。ログ、コマンド出力、区切り形式のファイル、簡単な運用レポートを日常的に扱う方に特に役立ちます。
前提知識: Linux ターミナル、ファイルとディレクトリ、パイプ、出力リダイレクトの基本操作。sed や awk の事前経験は必要ありません。
学習環境: テキスト、アカウント情報、CSV 形式データ、Web ログの各サンプルファイルが用意された LabEx Linux ターミナル。
よくある質問
sed と awk はどのように使い分けますか?
テキストストリームの行を変更、削除、挿入、選択することが中心なら sed を使います。レコードをフィールドに分割し、条件を適用し、件数や合計を保持してレポートを組み立てるなら awk が適しています。最終課題では両方を順番に使用します。
演習で実際のシステムデータを変更しますか?
いいえ。フィールド抽出の練習で /etc/passwd を読み取りますが、変更はしません。編集対象は用意されたプロジェクトファイルです。また置換ラボでは、変更を加えないプレビューと、元のコピーを保存する sed -i.bak の両方を扱います。
最終課題では何を作成しますか?
各フィールドが引用符で囲まれたサンプル Web サーバーログから、クリーニング済みログ、ステータスコード一覧、404 件数、エラー率ファイル、そして Total: 8, 404: 2, Rate: 25% のような 1 行の概要を作成します。





