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

如何使用Bash查找目录下最近新增文件并将文件名存入变量

Bash 查找指定目录最新文件并赋值变量实现方法

基础实现(兼容绝大多数Linux发行版)

直接使用以下代码即可实现需求:

#!/bin/bash

# 替换为你要查找的目标文件夹路径
TARGET_DIR="/path/to/your/target/folder"

# 查找最新的普通文件,赋值给变量latest_file
latest_file=$(ls -tp "$TARGET_DIR" | grep -v '/$' | head -n 1)

# 测试输出结果
echo "最新新增的文件是:$latest_file"

参数说明

  • ls -tp:-t参数按文件修改时间从新到旧排序,-p参数会给所有目录结尾追加/标记,方便后续过滤
  • grep -v '/$':过滤掉结尾带/的条目,仅保留普通文件,排除目录
  • head -n 1:取排序后的第一条结果,即最新的文件

进阶说明

  1. 如果需要包含隐藏文件,将ls -tp修改为ls -atp即可,新增的-a参数会显示目录下的隐藏文件
  2. 如果需要严格按**创建时间(而非修改时间)**排序,GNU Coreutils环境(绝大多数Linux发行版默认带)可以使用以下命令:
latest_file=$(find "$TARGET_DIR" -maxdepth 1 -type f -printf "%C@ %f\n" | sort -nr | head -n 1 | cut -d' ' -f2-)
  1. 空目录判断:如果目标文件夹可能为空,可以增加判空逻辑避免后续报错:
if [ -z "$latest_file" ]; then
  echo "目标目录下未找到任何普通文件"
  exit 1
fi

内容的提问来源于stack exchange,提问作者Itay Alush

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 15:15:04