概要
sample.txt
Kim test Charchile aaaaaa
上のようなテキストファイルを
test.sh
#/bin/sh cat test.txt | while read line do col1=`echo ${line} | cut -d ' ' -f 1` col2=`echo ${line} | cut -d ' ' -f 2` echo "Column1: ${col1} Column2: ${col2}" done
上記のshellスクリプトで入力し、echo
で 出力すると
Column1: Kim Column2: test Column1: Charchile Column2: aaaaaa
となる。
このままだと、出力結果が見辛いので整えたい。
結論
#/bin/sh cat test.txt | while read line do col1=`echo ${line} | cut -d ' ' -f 1` col2=`echo ${line} | cut -d ' ' -f 2` printf "Column1: %9s Column2: %6s\n" ${col1} ${col2} done
上記のようにprintf
で出力する。
出力結果は
Column1: Kim Column2: test Column1: Charchile Column2: aaaaaa
上のように、フォーマットを整えることができる。
出力方法
%9s
や%6s
はそれぞれ9桁、6桁の右詰めで出力するということ。
¥n
は改行
その他の出力方法
左詰め
printf "Column1: %-9s Column2: %-6s\n" ${col1} ${col2}
数字の前に-
を挿入する
出力結果
Column1: Kim Column2: test Column1: Charchile Column2: aaaaaa
0詰め
printf "Column1: %09s Column2: %06s\n" ${col1} ${col2}
数字の前に0
を挿入する
出力結果
Column1: 000000Kim Column2: 00test Column1: Charchile Column2: aaaaaa