是否有一个命令可以列出文件、排除子目录以及显示大小和日期?

是否有一个命令可以列出文件、排除子目录以及显示大小和日期?

在开始之前,请假设我只有 UNIX 的基本知识。基本含义我从上周才开始阅读它,目的是为了与工作相关。

我一直在尝试使用该ls命令来提供包含视频媒体的特定目录的列表。我需要显示文件名,文件大小日期它被创造了。我通过使用以下命令实现了这一点:

ls -gohU

这很好,但搜索还包括该目录中的子目录。搜索后,我发现另一个命令显示文件并排除文件夹:

find . -maxdepth 1 -not -type d

我想知道是否有一个命令可以找到目录中不包括子目录的所有文件并显示它们文件名,尺寸日期他们被创造了。

PS 如果有帮助的话,我还在 Mac OS 10.6.8 上使用终端 - bash。

答案1

使用该-exec选项组合两个适合您的命令:

find . ! -name . -prune ! -type d -exec ls -gohU {} +

答案2

如果第一个字符是 d 那么文件就是目录。要列出以其他字符开头的行,请使用:

ls -gohU | grep '^[^d]'

答案3

ls如果您只需要某些字段,则可以使用 OS/X 的命令stat

find . ! -name . -prune ! -type d -exec stat -t '%FT%T' -f '%15z %SB %N' {} +

或者与zsh

command stat -t '%FT%T' -f '%15z %SB %N' -- *(D^/)

( %B,ls -U是 OS/X 特定的,其他 Unice 一般没有索引节点诞生时间)。

答案4

大多数版本的查找支持-ls选项因此以下内容应该可以满足您的需求:

find . -maxdepth 1 -type f -ls

相关内容