dateコマンドってシェルスクリプト作るときにはとても便利ですよね。
gnu のdateコマンドはよく使う例がいっぱい作っておくと便利です。
dateコマンドの基本的な使い方
ファイル名などでよく使う形式
takuya@air:~$ date -I 2012-05-31
すごくよく使う。 tar cvzf `date -l `.tgz とかすごくよく使う
これは次と同じ
takuya@air:~$ date +"%Y-%m-%d" 2012-06-07
日付と時間
takuya@air:~$ date +"%Y-%m-%d#%H:%M:%S" 2012-07-13#21:59:33
UTCで表示。
takuya@air:~$ date -u 水 5 30 18:21:14 UTC 2012
文字列を日付に変換
-d オプションで文字列を日付に変換。
昨日の日付
takuya@air:~$ date -d “yesterday” 水 5 30 03:25:01 JST 2012
今日の日付
takuya@air:~$ date -d "today" 木 5 31 03:25:32 JST 2012
n日まえの日付
takuya@air:~$ date -d "-3days" 月 5 28 03:25:28 JST 2012
明日
takuya@air:~$ date -d "tomorrow" 金 6 1 03:25:55 JST 2012
3日後(n日後)
takuya@air:~$ date -d "+3days" 日 6 3 03:26:06 JST 2012
来月の今日
takuya@air:~$ date -d "next month" 日 7 1 03:26:13 JST 2012
先月の今日
takuya@air:~$ date -d "last month" 火 5 1 03:26:18 JST 2012
先週
takuya@air:~$ date -d "last week" 木 5 24 03:26:22 JST 2012
これを使って月末の日付を求めるのは、基本だよね
takuya@air:~/ncurses-5.9$ date -d 'now - 1 month’ 火 5 1 04:06:11 JST 2012
組み合わて使う。昨日の日付をフォーマット
takuya@air:~$ date -d "yesterday" +"%Y-%m-%d" 2012-06-06