ls命令中的--time-style使用

   今天工做上碰到一個問題,要求刪除30天前的目錄,想寫一個腳本先使用ls -l 查找出來時間(修改時間)在比較時間,符合條件的刪除。結果使用ls -l 查詢出的結果是:spa

使用awk 取出時間,發現只能取出 sep,因此沒法進行下一步,後來想用awk 連續取出發現結果變成了sep3015:51,不利於下一步。查看了ls的幫助文件發現 ls -l --time-style=xxx命令能夠顯示時間的格式,xxx:full-iso, long-iso, iso, locale, +FORMATawk

ls -l --time-style=full-iso  顯示所有時間,包括毫秒在內如:
搜索

drwxr-xr-x 2 boco boco 4096 2013-10-16 14:49:57.000000000 +0800 Desktim

ls -l --time-style=long-iso 顯示日期和時間(包括年),以長格式顯示yyyy-mm-dd hh:mm:ss
腳本

drwxr-xr-x 2 boco boco 4096 2013-10-16 14:49 Desktop查詢

ls -l --time-style=iso  顯示日期和時間(不包括年)
top

drwxr-xr-x 2 boco boco 4096 10-16 14:49 Desktopimg

ls -l --time-style=locale 顯示日期和時間(同上)
文件

drwxr-xr-x 2 boco boco 4096 10-16 14:49 Desktop時間

 

ls -l --time-style '+%Y/%m/%d %H:%M:%S' 自定義顯示格式

drwxr-xr-x 2 boco boco 4096 2013/10/16 14:49:57 Desktop

最後,搜索日期的目錄也能夠用find -type --exec 的方式處理,可能更方便。

補充:使用awk的時候犯了個錯誤,awk能夠指定列之間的鏈接符如awk '{print $1";"$2";"}',學的仍是不紮實啊,引覺得戒。

相關文章
相關標籤/搜索