[精讚] [會員登入]
1279

Freebsd shell 的日期date表示法

Freebsd 的日期date功能超級強大,學會會很方便。

分享此文連結 //n.sfs.tw/10493

分享連結 Freebsd shell 的日期date表示法@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2019-10-24 16:46:25 最後編修
2016-12-26 01:34:37 By 張○○
 

自動目錄

FREEBSD中的date函數和linux的參數不太一樣,但是更方便

顯示今天、前一天日期

顯示今天日期

# date +"%a %b %d %T %Z %Y"

週四  7月 04 09:24:35 CST 2019

# date -v -1d +%Y%m%d%H%M%

201907030848

顯示上個月,產生字串

$  date -v-1m +'%y%m%d.sql'

190604.sql

十天後的日期、順便產生週次

$ date -v +10d +'%Y%m  --%W'

201908  --27

一個小時候的timestamp

$ date -v +1H +'%s'

1562207946

列印時間

$ date +%T
09:48:25

字串格式如果不連續就要用單引號或雙引號包起來,有連續的話引號可省略。

把日期指定給變數

這個好處是可以產生字串格式的檔案名稱

# set curr_day=`/bin/date -v-1d +'%y%m%d.sql'`

# echo $curr_day
190703.sql

環境變數 locale

把日期輸出改為英文,在Freebsd 下使用 setenv
# setenv LC_TIME en_US.utf8
# setenv LC_TIME _US.utf8

假若以上命令無效(也許因為 LC_ALL 已經設定),則改下
# setenv LC_ALL en_US.utf8

可是這樣會改變目前登入環境的 locale,(我們可以下 locale 指令來看 locale ),雖然不會影響系統的 locale,但我們有更好的解決方法,就是要使用時再改 LC_ALL,寫在 shell 裡就能解決這個問題:

# /usr/bin/env LC_ALL=en_US.UTF-8 /bin/date -v -1m -j '+%Y%b'

有關變數的意義,請參考「Linux shell 的date表示法」這篇的欄目三

 

參考資料

[1] https://blog.sleeplessbeastie.eu/2011/12/15/how-to-find-yesterdays-or-tomorrows-date-using-shell/


原文 2008-11-24 15:39:12  2019-7-4更新

END

你可能感興趣的文章

[Freebsd] 利用pf達成port forwarding 及nat 為了達成port forwarding 及NAT 的功能,不斷思考加上試了三天終於試出來。

[FREEBSD] 使用ADSL撥接程式為何 我在家架了一台 FREEBSD 的SERVER,其中ADSL設定和操作

[FREEBSD] 使用 logrotate 來管理及備份日誌檔 Unix 系統中的日誌檔存放在 /var/log/ 中,可供我們查錯及觀察使用。日誌檔最大的問題是會不斷的長大。

[FREEBSD11] ssh登入時免輸入密碼 自動程式需要進到別台機器時,沒辦法使用交談式方式輸入密碼,發現一個簡單的方法設定

Freebsd 套件和套件有關的指令 在 Freebsd 上的套件(packages)要如何安裝,可以自行下載檔案解壓編譯,或是利用 ports。

Freebsd11+sudo 使用sudo模組讓帳號具有root權限 linux系列中很好用的sudo,在freebsd中也可以使用

我有話要說

>>

限制:留言最高字數1000字。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

[札記] 2016.7~12月札記 札記,只是札記

[bc] linux 的計算機 bc 設定小數位數、計算π、次方根 linux 的計算機 bc 設定小數位數、計算π、次方根

好用的3+2碼郵遞區號查詢系統推薦 網路上找到用地址輸入判斷3+2碼郵遞區號的辨識率不高,除了這個網站…

世紀帝國征服者新版本--被遺忘的帝國 世紀帝國征服者新版本--被遺忘的帝國 世紀二代的征服者是精典遊戲中的精典,aofe更好玩...

[MYSQL] 設定字串欄位的預設值 新增表格的時候,字串欄位給予預設空值;數字欄位給預設數值;日期欄位給空值。