【Linux】awkコマンドの使い方・サンプル(ファイル内のパターン検索・処理)

Linuxコマンド「awk」で2つのテキストファイルの差分を確認する方法についてオプションと例題(サンプル)付きでまとめました。

awkコマンドの使い方

awkコマンドは、2ファイル内のパターン検索・処理を行います。awkコマンドでは、テキストのパターン処理を行うスクリプト言語AWKをコマンド内で呼び出して使用します(詳細は補足を参照)。

awk [オプション] [AWKスクリプト] [ファイルパス]
オプション 動作
-f ファイル名 awkスクリプトが書かれたファイルを指定
-F 区切り文字 区切り文字を指定(デフォルトは空白文字)
-v 変数名=値 変数を定義

【使用例】awkコマンド

■test.txtの中身全て(行全部)を表示

awk '{print $0}' hoge.txt

■test.txtの1列目のデータを5倍して表示

awk '{$1=$1*5;print $0}' hoge.txt

【補足】Awkスクリプト

awkとは、Linuxのコマンドのように使えるテキストデータのパターン処理が簡単に行えるスクリプト言語です。
スクリプト内で使用できる組み込み変数は以下のとおり。

組み込み変数 機能
$0 ファイル1行(レコード)分の内容。
$n 現在の行の、n番目のカラム(フィールド)のテキスト内容。
RS フィールドの区切り文字(デフォルトは改行文字)
FS 1行のテキストをカラムに分割する際に利用する区切り文字。
OFS 処理結果を出力するときの区切り文字。
NF 現在のカラム数(区切り文字で区切ったときの列数)
NR 現在の行数
【Linux超入門】システムの基礎とよく使うコマンドなど徹底解説
Linuxシステムの基礎とよく使うコマンドなどについて入門者向けに解説します。

コメント