スポンサーリンク
バックスラッシュでソースコードの途中で改行
※awkの使い方をまとめて一覧にしました。
参考:awk入門-使い方まとめ一覧-
参考:awk入門-使い方まとめ一覧-
awkで、例えば、if文を書いているときに、
条件式が多数に及び、ソースコードの途中で改行をしたい場合があると思います。
そんなときは、バックスラッシュを使うことで改行することができます。
例えば、下記のように、if文があったときに、条件式を改行を入れてコンパクトにする場合です。
if($1 == 2019 || $1 == 2018 || $2 == 3){ print $0 }
下記のように、バックスラッシュで区切ることで改行できます。
if($1 == 2019 || \ $1 == 2018 || \ $2 == 3){ print $0 }
スポンサーリンク
サンプルコード
例えば、下記のin.txtがあったとします。
$ cat in.txt 2018,1 2019,2 2020,3 2021,4 2022,5 2023,6
下記がサンプルコードになります。
$ cat sample.awk #!/bin/sh EOL=$(cat in.txt | wc -l) cat in.txt | awk -v "EOL=$EOL" ' BEGIN{ FS = "," } { if($1 == 2019 || \ $1 == 2018 || \ $2 == 3){ print $0 } } '
下記が実行結果になります。
$ ./sample.awk 2018,1 2019,2 2020,3
スポンサーリンク