osxのlsコマンドラインで使用される時間形式を変更するにはどうすればよいですか?


27

ls表示時間をISO形式(軍事形式)にしたい。この動作を変更するにはどうすればよいですか?

Linuxでは、lsにusinを使用して長い形式で時間を表示させることができることは知っていました--full-timeが、これはOS Xでは機能しません。

更新:コマンドで使用される形式がlocale設定に基づいていることを知っています。問題は、OS XIでは設定のトリックを使用できなかったことですLC_TIME=en_DK


1
答えはありませんが、おそらく有用です:stat(1)コマンドは非常に柔軟で、任意の形式でタイムスタンプを表示するように作成できます。
ハラルドハンチェオルセン

gls(gnu ls)回答で述べたように、-style =フラグを使用して+ FORMAT文字列を指定できるため、希望どおりに日付を表​​示できます。
-barryj

方法を知っていればいいのに。AppleのBSDマニュアルはls、タイムゾーンを変更し、アルファではなく日付時刻でソートする以外、日付時刻のフォーマットについて何も提供していないようです。developer.apple.com/library/mac/documentation/Darwin/Reference/...
jtheletter

回答:


16

gnu coreutilsをインストールすると、gnu lsが使用可能になり、必要に応じて実行されます。brewをパッケージマネージャーとして使用する場合、次のように簡単です。

brew install coreutils
gls -l --time-style=full-iso

おかげで、これは便利ですが、問題を解決しません。使用される完全な形式はまだISO-8601ではありません。
ソリン

OK-gnu lsを含むgnu coreutilsをインストールできます。最も簡単な方法は、brew、MacPorts、またはFinkのいずれかです。私はbrewを使用しているので、「brew install coreutils」を実行するだけで機能します。これで、glsが利用可能になります。
-barryj

1
特に、インストールさbrew install coreutilsれる/usr/local/bin/glsことになりますので、のgls代わりに実行する必要がありますls
erik.weathers

時刻形式gls -l --time-syle="+%I"(またはgdateISO-8601用の正しい形式の形式)を指定する必要があります。
rubynorails

したがって、正しい呼び出しは次のとおりです。gls -l --time-style = full-iso
AnneTheAgile

13

OS Xの組み込みlsコマンドは時間フォーマット引数を取りませんが、statコマンドはstrftimeフォーマット文字列を取りますので、以下を実行することでお望みの結果を得ることができます。

stat -l -t '%FT%T' *

%FT%TISO8601ローカルタイムスタンプを生成します。%zUTCオフセットが必要な場合は、を追加します。

しかし、タイムスタンプは正しいものの、残りはlsから得られるものに近似するだけです。たとえば、ls -lフィールドを列に適切に配置し、出力を色付けできます。もちろん、すべてのファイル名を引数として渡す必要はなく、ディレクトリの内容をリストします。少なくとも出力をパイプ処理してtrすべてのスペースをタブに変換することにより、少なくとも適切な配置を再現できます。

stat -l -t '%F%T' * | tr ' ' \\t

別の方法としてls -l、カスタムロケールを定義することでISO8601タイムスタンプを生成できるようにする必要があると思いますが、まだ完了していません。


-1

ls -l --time-style=iso 私にとってはうまくいきます。


1
ありません。マウンテンライオン。
ナキロン

2
マーベリックスでもありません。
クレイブリッジズ

4
lsbrewなどのパッケージマネージャーを介して、システムに気づかずに非システムをインストールしたため、OPで正常に動作する可能性があります。
藻類14年

1
@algalに同意します。を/usr/local/bin/gls介してインストールしましたがbrew install coreutils、この--time-styleオプションをサポートしています。OPが実行されたbrew install coreutils --with-default-names結果、/usr/local/bin/ls(他のユーティリティと一緒に)インストールされるか、OPがに手動シンボリックリンクを設定した可能性がありますgls
erik.weathers

入ると何が見えますwhich lsか?
mschaef
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.