awkで変数を定義する
はじめに
ログ分析等でawk
を利用することが多い。どのサーバのログかが分かるよう、出力結果にホスト名等を含めたいことがある。試行錯誤(というほど考えていないが。。)した結果、pwd
の結果をawk
に渡すのが汎用的かなと思って、その紹介です。
pwd
単純にpwd
するとカレントディレクトリのフルパスになるので、カレントディレクトリだけ抜粋したい。
コマンド
$ pwd
結果
/Users/ユーザ名/Documents/blog_awk/host1
basename
ディレクトリ名を除いた文字列を返すコマンド。
コマンド
$ basename
結果
usage: basename string [suffix] basename [-a] [-s suffix] string [...]
pwd + basename + awk
コマンド
$ awk -v host=$(basename $(pwd)) '{print host, $1}' test.txt
結果
host1 aaa host1 bbb host1 ccc