コマンド日付実行

コマンド日付実行

このコマンドを実行しようとしていますdate +'%-4.4h %2.1d %H:%M'が、出力が正しくありません:

%-4.4h %2.1d 12:50  

Ubuntu ターミナルかコードに問題があると思います。何かアドバイスをお願いします。 ps: 初心者

答え1

私の知る限り、%-4.4hおよび は%2.1dGNUdateコマンドの有効なフォーマット指定子ではありません。特に、精度修飾子は意味をなさず、サポートされていません。受け入れられる修飾子は次のとおりです。

   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%hSepSeptember

$ 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の完全なリストについては、を参照してください。%

関連情報