2010-11-15 39 views
10

是否可以格式化stat的時間輸出?我正在使用UNIX統計時間格式

stat -c '%n %A %z' $filename 

在bash腳本中,但其時間格式不是我想要的。是否可以在命令中更改此格式,或者以後是否需要手動執行?

輸出示例如下:

/lib drwxr-xr-x 2010-11-15 04:02:38.000000000 -0800 
+0

你的問題是模糊的,請與您的預期輸出 – ajreal 2010-11-15 05:22:24

+1

輸出是更新你的問題無關緊要的;我只是想知道如果格式是可能的統計內。 – scott77777 2010-11-15 06:36:32

回答

6

你可以嘗試這樣的:

date -d "1970-01-01 + $(stat -c '%Z' $filename) secs" 

,讓你只有日期。您可以使用日期的格式選項(見man date)格式的日期,例如:

date -d "1970-01-01 + $(stat -c '%Z' $filename) secs" '+%F %X' 

這不會給你的名字和權限,但你可以做到這一點,如:

echo "$(stat -c '%n %A' $filename) $(date -d "1970-01-01 + $(stat -c '%Z' $filename) secs" '+%F %X')" 
5

可以簡單地是這樣的小數部分的帶材:

stat -c '%n %A %z' "$filename" | sed 's/\(:[0-9]\{2\}\)\.[0-9]* /\1 /' 

編輯:

這裏是另一種方式來截斷小數部分:

stat -c '%n %A %.19z' "$filename" 

這依賴於日期爲19個字符長:2010-11-15 04:02:38