みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

lsコマンドで表示されるタイムスタンプの書式を統一し、秒も表示する方法

お世話になります。
lsコマンドの使用方法で質問があります。

例えば本日(2008年11月24日)
ls -al
コマンドでファイルのタイムスタンプを確認すると
最終更新日時が「2008年11月23日22時41分08秒」のように6ヶ月以内のファイルは
11月23 22:41
と表示されますが、
最終更新日時が「2007年01月06日18時05分04秒」のように6ヶ月以上昔のファイルは
1月 6 2007
と表示されます。

最終更新日時がいつであっても常に
2007/01/06 18:05:04
のように固定の
YYYY/MM/DD HH:MM:SS
形式(秒も出力し、ゼロサプレスも行わない形式)で表示したいのですが
その方法がわからずに困っています。
(ログファイルとかで秒が表示されるとうれしいです。)

御存知の方、よろしくお願いします。

投稿日時 - 2008-11-24 14:41:19

QNo.4503337

困ってます

質問者が選んだベストアンサー

CentOS 5.2 の /bin/ls (ls (GNU coreutils) 5.97)だと、
時刻の表示形式を指定する --time-style オプションがあります。

例えばこんな感じです。
ls -l --time-style=+%c
-rw------- 1 root root 1095 2008年04月11日 17時16分05秒 anaconda-ks.cfg
-rw-r--r-- 1 root root 7 2008年06月29日 13時19分57秒 bar
...
ls -l --time-style=full-iso
-rw------- 1 root root 1095 2008-04-11 17:16:05.000000000 +0900 anaconda-ks.cfg
-rw-r--r-- 1 root root 7 2008-06-29 13:19:57.000000000 +0900 bar
...

参考URL:http://www.geocities.jp/fut_nis/html/coreutils-ja/Formatting-file-timestamps.html

投稿日時 - 2008-11-24 15:32:13

お礼

御回答ありがとうございました。
教えて頂いた内容をもとにいくつか試したところ、

ls -al --time-style=+'%Y/%m/%d %H:%M:%S'

とすれば日本語環境(LANG環境変数がja_JP.UTF-8)であっても
YYYY/MM/DD HH:MM:SS
の固定形式で表示されました。
ありがとうございました。

投稿日時 - 2008-11-25 21:50:06

ANo.2

このQ&Aは役に立ちましたか?

9人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

ls -alT
くらいで我慢するか、自分で作る。

投稿日時 - 2008-11-24 15:02:54

お礼

御回答ありがとうございました。

投稿日時 - 2008-11-25 21:48:31

あなたにオススメの質問