【Linuxコマンド】awkでファイル内のパターン検索・処理

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

スポンサーリンク

【awk】ファイル内のパターン検索・処理

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

dawk [オプション] [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コマンドの主な使い方とサンプル集について入門者向けにまとめました。
UNIX
スポンサーリンク

コメント