Linux printf コマンドは先行ゼロを印刷しません。

Linux printf コマンドは先行ゼロを印刷しません。
printf("TRL1%13s%013s%07s%07s%80s99%74s", nTotDBAmt, nTotCRAmt, nTotDBCnt, nTotCRCnt,"", "") >> sDAT_FILE

私たちはUnixからLinuxに移行しています。このコマンドはUnixではうまく機能しますが、Linuxでは機能しません。それは印刷する

TRL1     46038002   1270804215   1857   1843                                                                                99 

0の代わりにスペースを印刷します。

ベストアンサー1

Linuxは通常GNU awkインストールする。どのバージョンなのかわかりません。アッ%s 型文字列の前にある 0 はサポートされていますが、非標準のようです。

%013sの代わりに%013dを試してください。

おすすめ記事