スポンサーリンク

書式を指定して文字列を出力

※awkの使い方をまとめて一覧にしました。
参考:awk入門-使い方まとめ一覧-

awkのsprintfで書式を指定して文字列を出力できます。
※MACターミナル(BSD系)での動作確認です。

例えば、下記のin.txtがあったとします。

$ cat in.txt 
晴れ  30
くもり 20
雨 5

下記がサンプルコードになります。

下記の例だと、%sに$1の文字列が、%dに$2の数値が入ります。
また、%4dと記述し得、右詰めで桁数を揃えています。

書式の書き方は下記が参考になります。
参考:awkでよく使うprintfの書式のサンプルコード

ただ、sprintfを使わなくても、下記の記事の書き方の方が直感的で簡単ですね。
参考:awkで文字列を連結させる方法

$ cat sample.awk 
#!/bin/sh
cat in.txt | awk '		
	{		
		str = sprintf("天気:%s %d%", $1, $2)
		print str
	}
'

cat in.txt | awk '		
	{		
		str = sprintf("%4d%", $2)
		print str
	}
'

下記が実行結果になります。
$ ./sample.awk 
天気:晴れ 30%
天気:くもり 20%
天気:雨 5%
  30%
  20%
   5%
 

スポンサーリンク