Linux

【awk】テキストのパターンの検知/処理を行う|Linuxコマンド基礎

awk

今回は、Linuxコマンドでテキストのパターンの検知/処理を行う方法(awkコマンド)について分かりやすくご説明いたします。

 

うちぱぱ
うちぱぱ
それでは始めましょう!

テキストのパターンの検知/処理を行う【awk】

 

書式

awk [オプション] [ファイル名 …]

オプション

-f スクリプト AWKスクリプトを指定
-F 文字 区切り文字列を指定。デフォルトは空白が区切り文字
-v 変数=値 スクリプトで利用する変数を指定。複数の変数を指定

 

awkスクリプトで標準入力からの入力や指定されたテキストファイルの処理を行います。組み込みコマンドを利用して出力の整形などを行います。

コマンド実行例

テキストのパターン処理を行う

$ cat userlist   ⇒パスワードファイルから3行抜き出したテキストファイル
uchipapa:x:1000:100::/home/uchipapa:/bin/zsh
uchimama:x:x1000:100::/home/uchimama:/bin/bash

$ awk -F":" '{ print $1 }' userlist   ⇒最初のユーザ名のみを抜き出す
uchipapa
uchimama

テキストのパターン処理を行う(スクリプトの場合)

$ cat username.awk   ⇒スクリプトを用意
BEGIN { FS=":" }
{ print $1 }
END { print "終了" }

$ cat userlist | awk -f test.awk   ⇒標準入力からのテキストを処理
root
uchipapa
uchimama
終了   ⇒ENDの後ろに記述したものは処理終了後に実行

上記スクリプトをワンライナーで処理する

$ cat /etc/passwd | awk 'BEGIN {FS=":"} { print $1 } END { print "終了"}'
root
uchipapa
uchimama
終了   ⇒ENDの後ろに記述したものは処理終了後に実行

 

うちぱぱ
うちぱぱ
今回は以上となります!