"ls"を使用するときにファイルの日付を特定の形式に変換する方法

"ls"を使用するときにファイルの日付を特定の形式に変換する方法

次の入力データがあります。

-rw-rw-r--. 1 abmnyu abmnyu 0 Dec 30 07:06 ffd_in_imp_bus.dat
-rw-rw-r--. 1 abmnyu abmnyu 0 Dec 30 07:06 ffd_ik_imp_bus.dat

Dec 30使用するときは、以下の形式で表示する必要があります。20171230ls -l

-rw-rw-r--. 1 abmnyu abmnyu 0 20171230 07:06 ffd_in_imp_bus.dat
-rw-rw-r--. 1 abmnyu abmnyu 0 20171230 07:06 ffd_ik_imp_bus.dat

答え1

lsGNU(Linuxシステムの標準)を使用している場合は、--time-style日付/時刻形式を変更するオプションがあります。

必要なものに最も近い組み込み形式はlong-iso

例えば

$ ls -l --time-style=long-iso
total 1
-rw-r--r-- 1 cas cas 0 2017-12-30 21:26 ffd_ik_imp_bus.dat
-rw-r--r-- 1 cas cas 0 2017-12-30 21:26 ffd_in_imp_bus.dat

GNUと同じ日付形式仕様を使用してカスタム形式を使用することもできますdate

$ ls -l --time-style='+%Y%m%d %H:%M'
total 1
-rw-r--r-- 1 cas cas 0 20171230 21:26 ffd_ik_imp_bus.dat
-rw-r--r-- 1 cas cas 0 20171230 21:26 ffd_in_imp_bus.dat

からman ls

--時間スタイル=スタイル

では、STYLE-lスタイルを使用して時間を表示します。full-iso、、、、、またはlong-isoisolocale+FORMAT

FORMATは「日付」と解釈されます。

FORMAT がある場合、FORMAT1<newline>FORMAT2FORMAT1 は最近ではないファイルに適用され、FORMAT2 は最近のファイルに適用されます。

STYLE の前にプレフィックスが付いている場合、posix-STYLE は POSIX ロケールの外部でのみ適用されます。

関連情報