You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何筛选近7天指定模式文件并按修改时间戳排序输出文件名

按修改时间排序筛选结果的实现方案

你已经用命令筛选出了符合条件的文件,要按修改时间戳排序的话,可以在现有命令基础上增加时间提取、排序和文件名提取的步骤,下面是两种可靠的实现方式:

方式一:用stat+sort处理(推荐,支持含空格的文件名)

直接在原命令后追加管道命令,提取文件时间戳并排序:

find /Source -name "TEST_*" -mtime -7 -print0 | xargs -0 grep -l "pattern" | xargs -0 stat -c "%Y %n" | sort -n | cut -d' ' -f2-

各部分作用:

  • stat -c "%Y %n":输出每个文件的Unix时间戳(精确到秒,对应修改时间)和文件名,格式为「时间戳 文件名」
  • sort -n:按时间戳的数值从小到大排序(最早修改的文件在前),如果要最新修改的在前,换成sort -nr
  • cut -d' ' -f2-:去掉开头的时间戳,只保留完整文件名(即使文件名含空格也能正确提取)

方式二:用ls排序(适合文件名无特殊字符的场景)

如果你的文件名不含空格、换行等特殊字符,也可以用ls直接排序:

find /Source -name "TEST_*" -mtime -7 -print0 | xargs -0 grep -l "pattern" | xargs ls -lt | awk '{print $9}'
  • ls -lt:按修改时间降序排列文件(最新的在前),如果要升序用ls -ltr
  • awk '{print $9}':提取ls输出中的文件名部分(注意:如果文件名含空格,这个方法会出错)

内容的提问来源于stack exchange,提问作者ganesh B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 01:17:27