1. ホーム
  2. bash

[解決済み] 文字列中のゼロのパディング

2023-05-02 23:44:30

質問

いくつかのポッドキャストを取得するためにbashスクリプトを書いています。 問題は、ポッドキャストの番号が1桁のものと2桁または3桁のものがあるため、それらをすべて3桁にするためにパディングする必要があることです。

私は以下を試しました。

n=1

n = printf %03d $n

wget http://aolradio.podcast.aol.com/sn/SN-$n.mp3

のように表示されますが、変数 'n' は永久にパディングされたままではありません。 どうすれば恒久的に使えるようになりますか?

どのように解決するのですか?

printfコマンドの結果(``)をバックティックで代入してください。

n=1
wget http://aolradio.podcast.aol.com/sn/SN-`printf %03d $n`.mp3

EDIT: 本当に必要でない1行を削除したことに注意してください。 printf %...' の出力を n に割り当てたい場合は、次のようにします。 を使う

n=`printf %03d $n`

で、その後に、以前使った$n変数の代入を使います。