このコマンドを実行しようとしていますdate +'%-4.4h %2.1d %H:%M'
が、出力が正しくありません:
%-4.4h %2.1d 12:50
Ubuntu ターミナルかコードに問題があると思います。何かアドバイスをお願いします。 ps: 初心者
答え1
私の知る限り、%-4.4h
および は%2.1d
GNUdate
コマンドの有効なフォーマット指定子ではありません。特に、精度修飾子は意味をなさず、サポートされていません。受け入れられる修飾子は次のとおりです。
After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alternate representations if available, or O to use the locale's alternate numeric symbols if available.
(ここでの「10 進数」は 0 ~ 9 の数字を意味します)。
完全な月名と月の日付の書式指定子はそれぞれ と です%B
(省略された月名の場合は小文字のまたは を%d
使用できます(例: ))。たとえば、次のようになります。%b
%h
Sep
September
$ date +'%B %d %H:%M'
May 12 07:46
$ date +'%B %d %H:%M' -d 'today + 4 months'
September 12 07:48
$ date +'%b %d %H:%M' -d 'today + 4 months'
Sep 12 07:50
フィールド幅指定子は最小幅、例えば
$ date +'%4B %4d %H:%M'
May 0012 08:04
4文字に詰めるMay
が、
$ date +'%4B %4d %H:%M' -d 'today + 4 months'
September 0012 08:03
September
に切り捨てられませんSept
。
指定子man date
の完全なリストについては、を参照してください。%