Bus errorとSegmentation faultに困ったら見るブログ

物理の研究者による日々の研究生活のメモ書きです ( python/emacs/html/Japascript/シェルスクリプト/TeX/Mac/C言語/Linux/git/tmux/R/ポケモンGO)

【awk】シェル変数を渡して使う

awk '{print $0}' hoge.txt
これが基本の形

ダブルコーテーションではなく、シングルコーテーションを使うこと

ダブルコーテーションを無理して使う場合は

awk "{print \$0}" hoge.txt
のようにエスケープすること


これを踏まえて、シェル変数をawkの中で使う場合は、

x=10
awk "{print \$0, $x}" hoge.txt
とかで使える

今日新しく知ったのが、そんなことをしなくてもシェル変数を渡すオプションがあった・・・

x=10
y=20
awk -v x=$x -v y=$y '{print $0, x, y}' hoge.txt
-vを何度も書けば複数のシェル変数を渡せる

はぁ〜便利・・・

■ 参考 : awkからシェル変数を参照する


ランキング参加中です

↓クリックしていただけると嬉しいです〜