【发布时间】:2012-05-18 04:57:00
【问题描述】:
我正在使用ls -l -t 来获取按时间排序的目录中的文件列表。
我想将搜索结果限制在列表中的前 2 个文件。
这可能吗?
我用 grep 试过了,但我很挣扎。
【问题讨论】:
我正在使用ls -l -t 来获取按时间排序的目录中的文件列表。
我想将搜索结果限制在列表中的前 2 个文件。
这可能吗?
我用 grep 试过了,但我很挣扎。
【问题讨论】:
或者你可以试试这个
ls -1 -t | head -2
-1 开关跳过标题行。
【讨论】:
为避免处理顶部输出行,您可以反转排序并获取最后两行
ls -ltr | tail -2
这是相当安全的,但取决于您在找到这两个文件条目后将如何处理它们,您应该阅读Parsing ls,了解使用ls 获取文件和文件信息的问题。
【讨论】:
您可以将其通过管道输入head:
ls -l -t | head -3
将为您提供前 3 行(2 个文件和总数)。
这只会给你前两行文件,跳过大小行:
ls -l -t | tail -n +2 | head -2
tail 删除第一行,然后head 输出接下来的 2 行。
【讨论】:
你必须通过头部管道。
ls -l -t |头 -n 3
将输出前两个结果。
【讨论】:
您可以使用head 命令仅获取前两行输出:
ls -l -t | head -2
【讨论】: