2008/02/17

shell 中運用date 指令取得日期字串

  工作上會在SunOS 上寫一些shell script 來進行系統維運.常覺得如果要計算日期或取得前一天日期字串很不方便,當然可以運用Perl ,但是寫出來的script 會變得不簡潔.但在 Linux 中的 GNU 版 date 指令卻可以達成.試了幾個好用的參數與用法,記錄起來以後就用得到. 

取得今天的日期與時間字串 (這是最常用的方法,單引號可以省略)   
date '+%Y%m%d'    
執行結果:20080217   

取得時間:   
date '+%H:%M:%S'   
執行結果:17:50:49 
  取得昨天日期   date -d  '-1 day' 或是 date -d  '1 day ago'   
配合格式變成 date +%Y%m%d  -d  '-1 day'
 
  取得前天日期   date -d '-2 days ago' 也可以用 date -d '-2 day' 比較簡潔 
  取得明天日期   date -d '1 day' 
  取得上個月日期   date -d '-1 month' 
  取得上週同一天(七天前)日期   date -d '-1 week'   年月日的參數可以類推.

真的比SunOS 的版本好用太多.這些用法其實在 man page 中也找不到.可以改用 info date 查詢.info 中有詳細的說明.