カテゴリ: Linuxコマンド集 更新日: 2026/08/10

awk -fオプションの使い方を完全ガイド!初心者でもわかるLinuxテキスト処理の基本

awk -fオプション|スクリプトをファイルから読み込んで実行する
awk -fオプション|スクリプトをファイルから読み込んで実行する

先生と生徒の会話形式で理解しよう

生徒

「Linuxでテキストを自動で処理できるって聞いたんですが、awkって何ですか?」

先生

「awkは、ファイルの中身を行ごと・列ごとに読み取って加工できる便利なコマンドですよ。」

生徒

「コマンドに直接書くと長くなりそうで不安です…」

先生

「そんなときに使うのがawk -fオプションです。処理内容をファイルにまとめられます。」

1. awkコマンドとは?

1. awkコマンドとは?
1. awkコマンドとは?

awkコマンドは、Linuxでテキストファイルやデータを処理するための基本コマンドです。ログファイルの確認や、表形式データの加工によく使われます。

イメージとしては、ノートに並んだ表を見ながら「この列だけ読む」「計算する」といった作業を自動で行う道具です。

2. awk -fオプションの役割

2. awk -fオプションの役割
2. awk -fオプションの役割

-fオプションは、awkの処理内容をスクリプトファイルから読み込むための指定です。

短い処理ならコマンドに直接書けますが、長くなると読みにくくなります。-fを使うと、命令書を別ファイルに保存でき、整理しやすくなります。

3. awkスクリプトファイルを作ってみよう

3. awkスクリプトファイルを作ってみよう
3. awkスクリプトファイルを作ってみよう

まずは、簡単なawkスクリプトをファイルとして作成します。ここでは、各行の1列目を表示する処理を書きます。


cat << 'EOF' > sample.awk
{ print $1 }
EOF

$1は「1列目」という意味です。列とは、空白で区切られたデータのまとまりを指します。

4. awk -fでスクリプトを実行する

4. awk -fでスクリプトを実行する
4. awk -fでスクリプトを実行する

作成したスクリプトを-fオプションで指定して実行します。


awk -f sample.awk data.txt
apple 100
banana 200
orange 150

この例では、data.txtの各行から1列目だけが表示されています。

5. 条件付き処理もファイルに書ける

5. 条件付き処理もファイルに書ける
5. 条件付き処理もファイルに書ける

awkでは「条件に合う行だけ処理する」こともできます。次は、数値が150以上の行だけ表示します。


cat << 'EOF' > filter.awk
$2 >= 150 { print $1, $2 }
EOF

awk -f filter.awk data.txt
banana 200
orange 150

$2は2列目を表します。条件式も日本語の「もし〜なら」に近い感覚で書けます。

6. BEGINとENDを使った初期処理

6. BEGINとENDを使った初期処理
6. BEGINとENDを使った初期処理

BEGINは処理の最初、ENDは最後に一度だけ実行されます。見出しや合計表示によく使われます。


cat << 'EOF' > sum.awk
BEGIN { total = 0 }
{ total += $2 }
END { print "合計:", total }
EOF

awk -f sum.awk data.txt
合計: 450

7. awk -fを使うメリット

7. awk -fを使うメリット
7. awk -fを使うメリット

awk -fを使う最大の利点は、処理内容を再利用できることです。

  • 長い処理でも読みやすい
  • ファイルとして管理できる
  • 複数のデータに同じ処理を使える

初心者でも、作業手順を分けることで理解しやすくなります。

8. awkと他のテキスト処理コマンドとの違い

8. awkと他のテキスト処理コマンドとの違い
8. awkと他のテキスト処理コマンドとの違い

grepは検索、sedは置換が得意ですが、awk列ごとの計算や加工に向いています。

特に-fオプションを使うと、小さなプログラムのように扱えるため、データ処理の幅が広がります。

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

awkコマンドとは何ですか?Linux初心者でも理解できるテキスト処理の基本を教えてください

awkコマンドはLinuxでテキストファイルやログファイルを行ごとや列ごとに処理するための基本コマンドです。特に表形式データの加工や抽出に強く、初心者でもデータ処理を効率化できる便利なツールです。

awk -fオプションとは何ですか?Linuxコマンドの中でどんな役割がありますか

awk -fオプションはawkの処理内容をスクリプトファイルから読み込むための指定です。長い処理をコマンドに直接書かずにファイル化できるため、可読性や再利用性が向上します。
関連記事:
カテゴリの一覧へ
新着記事
New1
Linuxコマンドの基本
Linuxのパイプ(|)とは?複数コマンドをつなげて効率化する方法を完全解説
New2
テキスト・データ処理
tailコマンドとは?Linuxでファイルの末尾を表示する基本をやさしく解説!
New3
ファイル・ディレクトリ操作
find -groupオプションの使い方を解説!初心者でもできる所有グループによるファイル検索
New4
圧縮・アーカイブ
rar xオプションの使い方を完全ガイド!Linuxでディレクトリ構造を保持して展開する方法を初心者向けに解説
人気記事
No.1
Java&Spring記事人気No1
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.2
Java&Spring記事人気No2
テキスト・データ処理
catコマンドとは?Linuxでファイル内容を表示・連結する基本
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
cd ~ の使い方を完全解説!ホームディレクトリへの移動方法と初心者向けLinuxコマンド入門
No.4
Java&Spring記事人気No4
圧縮・アーカイブ
gzipコマンドの使い方を完全ガイド!初心者でもわかるLinuxでファイル圧縮の基本