2010-03-25 48 views
1

我有一個Python腳本運行幾個ls命令。該腳本整天在cron下運行。我使用awk寫出當ls -l執行時文件名所在的列。奇怪的克倫ls行爲

當我通過命令行運行該腳本的輸出看起來像這樣

-rw-rw---- 1 mysql adm  141 2010-03-25 08:56 mysql-bin.000485 
-rw-rw---- 1 mysql adm  141 2010-03-25 09:01 mysql-bin.000486 
-rw-rw---- 1 mysql adm  5073 2010-03-25 09:31 mysql-bin.000487 

,但是當我在cron下運行斯克呂普爲根,輸出看起來像這樣

-rw-rw---- 1 mysql adm  141 Mar 25 10:07 mysql-bin.000488 
-rw-rw---- 1 mysql adm  141 Mar 25 10:22 mysql-bin.000489 
-rw-rw---- 1 mysql adm  98 Mar 25 10:22 mysql-bin.000490 

這使得AWK返回錯誤的列。無論如何,要在cron下得到格式化日期嗎?

回答

3

如果你在GNU LS,你可以通過--time-style=long-iso。更多格式是here

+0

這就像一個魅力!謝謝。 – Kyle 2010-03-25 17:48:38

3

問題是您的帳戶和根目錄之間的語言環境不同。您可以通過暫時改變他們:

$ LC_ALL="locale name" your-script