如何使用Glob模式获取目录中按日期命名的最新库存CSV文件
没有能直接实现该需求的原生Glob模式。Glob仅负责匹配符合命名规则的文件集合,本身不支持排序、截断取首位的逻辑,必须搭配其他Shell命令链式调用实现。
针对你的场景,文件名采用YYYY_MM_DD.csv的格式,字典序和时间序完全一致,可直接用以下命令实现排序后取最新文件的效果:
# 按文件名倒序排序,取最新的第一个文件 ls *.csv | sort -r | head -n 1
如果你需要按文件实际修改时间而非文件名排序取最新,可直接用ls自带的时间排序参数:
# 按文件修改时间从新到旧排序,取第一个 ls -t *.csv | head -n 1
如果需要将结果赋值给变量后续使用,可以写为:
latest_file=$(ls *.csv | sort -r | head -n 1)
内容的提问来源于stack exchange,提问作者David542
相关产品推荐
相关产品推荐

