awk コマンド#
awk
はテキストデータのフィールドを処理するのに非常に便利なツールです。
基本#
以下に、基本的な使い方を示します。
- 基本的な構文:
pattern
: 処理を行いたいレコードを指定するための条件式action
: 指定されたレコードに対して行う処理-
file
: 入力として使用するファイル名 -
基本的な例: ファイルの各行を表示:
-
フィールドの取り扱い: デフォルトで、
awk
は空白やタブをフィールドの区切りとして認識します。 1つ目のフィールドを表示: -
パターンを使用:
$2
(2つ目のフィールド) が"John"の場合にのみ行を表示: -
内蔵変数:
NR
: 現在のレコード番号NF
: 現在のレコードのフィールド数
最後のフィールドを表示:
- 区切り文字の変更: カンマをフィールドの区切り文字として使用:
この基本を理解すれば、awk
で多くのテキスト処理タスクを行うことができます。練習を重ねることで、さらに複雑な操作も行えるようになるでしょう。
レシピ#
awk
は非常に強力で柔軟性のあるテキスト処理ツールです。以下は、awk
を使用したいくつかの一般的なレシピを示しています。
-
合計と平均を計算: 第一フィールドの合計と平均を計算する。
-
特定の列の値を基に行をフィルタ: 第二フィールドの値が5より大きい行だけを表示。
-
特定の文字列を含む行の数をカウント: "example" という文字列を含む行の数をカウント。
-
各行のフィールド数を表示:
-
行をフィールドで逆転:
-
ユニークなレコードを表示:
-
特定の区切り文字で分割し、特定のフィールドを表示: ":" で区切られたテキストから第2フィールドを表示。
-
テキストの後ろに行番号を追加:
-
特定の列の合計だけを表示: 第三フィールドの合計のみを表示。
これらはawk
の基本的な使用方法を示すものであり、実際にはもっと複雑な操作を行うことができます。
具体的なニーズや状況に応じて、これらのレシピを適応または拡張して使用してください。