dateコマンド

Linuxのコマンドでdateコマンドがあります。dateコマンドは普通にCLIで作業する分には、経験上そんなに使わないのですが、シェルスクリプトとcronで何かしようとするときに、よく使うと思います。

基本的な使い方

そのまま実行すると、現在の日付と時刻が、設定されたロケーションで出力されます。

日時を指定して表示

パラメーターとして-dか–dateを指定して下記のように書きます。

指定の長さだけ加えたい場合、1monthとか2dayとか、1minuteなどのように指定します。+はあってもなくてもよいようですが、フォーマット指定の都合上、書かないほうが見やすいと思います。

マイナスしたい場合は、-を付けるか、agoを書き足します。

出力フォーマット

date “+%Y-%m-%d %H:%M:%S”のように、”+~”というのでフォーマットを指定しています。

フォーマットで指定できるものは以下の通りです。(manから引っ張っています)

  • 時刻フィールド
    • %H…時 (00..23)
    • %I …時 (01..12)
    • %k …時 (0..23)
    • %l …時 (1..12)
    • %M… 分 (00..59)
    • %p…AM あるいは PM のロケール
    • %r …時刻、12 時間 (hh:mm:ss [AP]M)
    • %s …1970-01-01 00:00:00 UTC からの秒数 (標準外の拡張)
    • %S…秒 (00..60)
    • %T…時刻、24 時間 (hh:mm:ss)
    • %X…ロケールによる時刻の表現 (%H:%M:%S)
    • %Z…タイムゾーン (例 EDT)、あるいはタイムゾーンが決定できないならば無し
  • 日付フィールド
    • %a…ロケールの省略形の曜日名 (Sun..Sat)
    • %A…ロケールの完全表記の曜日名、可変長 (Sunday..Saturday)
    • %b…ロケールの省略形の月名 (Jan..Dec)
    • %B…ロケールの完全表記の月名、可変長 (January..December)
    • %c…ロケールの日付と時刻 (Sat Nov 04 12:02:33 EST 1989)
    • %d…月内通算日数 (01..31)
    • %D…日付 (mm/dd/yy)
    • %h…%b と同じ
    • %j …年内通算日数 (001..366)
    • %m… 月 (01..12)
    • %U…日曜日を週の最初の日とした年内通算週 (00..53)
    • %w… 週のうちの曜日 (0..6) (0 が日曜日)
    • %W… 月曜日を週の最初の日とした年内通算週 (00..53)
    • %x…ロケールの日付表現 (mm/dd/yy)
    • %y…年の最後の 2 つの数字 (00..99)
    • %Y…年 (1970…)
  • 文字フィールド
    • %%…文字 %
    • %n… 改行
    • %t …水平タブ

ロケールを一時的に別のものにしたい

シェルスクリプトでログを集計するときなど、Aug 15などという表記がされていることがあります。

短縮月名か~と思って%bを指定しても表示されるのは8月だったりするときがあります。

この場合は下記のようにすると一時的に英語表記に代わります。

GRC検索順位チェックツール*
順位チェックとサイト管理を1つのツールで!検索順位チェックツールGRC*

スポンサード・リンク

«
 

トラックバックURL

コメントを書き込む