find $path -type f -printf "%T@ %p\n" | sort -n | cut -d' ' -f 2 | tail -n
我的要求是在目录中找到最后更新的文件,但不在子目录中
该目录包含CSV格式的文件和3个子目录,是否可以修改此现有代码?或使用CSV标记进行搜索,以便仅检查CSV文件,而不检查子目录(子目录还包含.csv文件)。
谢谢
答案 0 :(得分:1)
将 find 命令与 maxdepth 1 参数一起使用,它将不会搜索子目录。
然后,您可以使用 -exec 添加将针对匹配文件运行的命令。
最后,使用 tail -1 获取最新的文件名,并使用 basename 从完整路径中提取文件名。
这是一个例子,
basename $(find $Path -maxdepth 1 -name '*.csv' -exec ls -t {} \; | tail -1)