awkのprintでピリオドを出力したいが出来なかった
追記
結論、できた。ピリオドをダブルクォテーションで括ればよかったようです。
echo "1.2.3" | awk -F. '{print $1"."$2"."($3 + 1)}'
問題
下のようにawkのprintを使って演算した結果をピリオド付きで出力をしたかったが出来なかった
$ cat awk_test.sh #!/bin/bash echo "1.2.3" | awk -F. '{print $1.$2.($3 + 1)}' $ sh awk_test.sh 124
\
でピリオドをエスケープすればできる?と思ったけどもsyntax errorが出てしまう。
解決策
最初に加工した結果をスペース区切りで出力させて、そのあとsedでピリオドに置き換えた
$ cat awk_test.sh #!/bin/bash echo "1.2.3" | awk -F. '{print $1,$2,($3 + 1)}' | sed 's/ /./g' $ sh awk_test.sh 1.2.4