Linuxでls
を使用して、ファイル名の日付とサイズのみのリストを取得するにはどうすればよいですか。所有者や許可などの他の情報を見る必要はありません。これは可能ですか?
stat
の代わりにls
を使用しないのはなぜですか?
stat -c "%y %s %n" *
find
ユーティリティを使用してファイルを一覧表示する方法について、多くの制御を取得できます。 ls
では、実際に必要な列を指定できません。
例えば:
$ find . -maxdepth 1 -printf '%CY%Cm%Cd.%CH%CM\t%s\t%f\n'
20111007.0601 4096 .
20111007.0601 2 b
20111001.1322 4096 a
printf
アクションの引数については、マンページで詳しく説明しています。さまざまな時間情報、必要なサイズ(使用するファイルサイズまたはディスクブロック)などを選択できます。さらに処理が必要な場合は、これを異常なファイル名に対して安全にすることもできます。
awk
のような出力をフォーマットするためにls
のような別のユーティリティをいつでも使用できます1:
/bin/ls -ls | awk '{print $7,$8,$9}'
1.はい、一般的に、あなたは lsの出力を解析すべきではありません ですが、この場合、質問は具体的にそれを要求します...
'date'コマンドを使用することもできます。使い方はとても簡単です。
日付-r [ファイル名]
Lsを使用したいが適切なサイズを維持したい場合は、以下を使用できます。
ls -Ss1pq --block-size=1
ここで、スペースはセパレータとして定義され、f6はフィールド6を意味します
ls -lt | cut -d" " -f6-
2つのコマンドをパイプラインできます
ls -l|cut -d" " -f5