出力ファイルの目的の位置にカットフィールドを配置する[閉じる]

出力ファイルの目的の位置にカットフィールドを配置する[閉じる]

cut入力ファイルからフィールドを取得して出力ファイルに追加するスクリプトを作成しています。

cat $1|while read line
do
acc_no=`echo "$line" | cut -c29-43`
acc_type=`echo "$line"|cut -c124-125`
echo "$acc_no","$acc_type" >> out.csv
done

ここでは、「、」を使用して区切ります。これで、出力ファイルに次のような内容がありたいと思います。

acc_no20 to 33acc_type出力ファイルの場所から出力ファイルの場所から1 to 2

区切り文字は必要なく、場所ごとにこれらのアイテムにアクセスしたいと思います。

どうすればいいですか?

ベストアンサー1

努力する

printf  "%-2s%18s%s\n" $acc_type " " $acc_no >> out.csv

書式文字列は次のとおりです。

  • %2s: 2 文字幅の列、左揃え
  • %18s: 幅は 18 文字で空です。
  • %sa 文字列です。

おすすめ記事