YYYY'DDD'TTT形式でタイムスタンプをレンダリングするスクリプトがあります。ここで Y = 年、D = 365 日、T = 1000 日目の時間です。
#!/bin/bash
clear
s=$(($(date +"%H*3600+%M*60+%S")))
t=$(($s * 5 / 432))
d=$(date +%j)
y=$(date +%Y)
printf "$y\`$d\`$t" "$y" "$d" "$t"
しかし、DとTが常に3つの文字値を生成するように変更する必要があります(たとえば、1月1日には「1」ではなく「001」、1日の最初の分には「1」ではなく「001」) - I何すべきか分からない。
どんな助けでも大変感謝します。
ベストアンサー1
printf
たぶんフォーマット文字列を見ることができます。最初の引数は、後続の各引数のプレースホルダをprintf
含む書式文字列でなければなりません。
符号付き10進形式の引数を含めることができ、ゼロ%d
パディング文字を前に付けることができますd
。0n
n
printf "%d/%d/%d" 2011 2 3
出力されます2011/2/3
printf "%04d/%03d/%05d" 2011 2 45
出力しなければならない 2011/002/00045