bash - bash脚本:在子目录中查找最近的文件
问题描述
我正在尝试在与某个模式匹配的子目录中找到最新编辑文件的路径。为此,我想使用 bash 脚本来获取文件路径,然后将其用于一系列操作。
例如,我会有这样的树:
Directory/
dir 1.0/
fileIwant.txt
fileIdont.txt
dir 2.0/
fileIwant.txt
fileIdont.txt
dir 2.1/
fileIwant.txt
fileIdont.txt
所以在这种情况下,我想找到最新的“fileIwant.txt”(可能是“dir 2.1”中的那个,但可能不是)。然后我想存储这个文件的路径来复制它,重命名它或其他什么。
我找到了一些脚本来查找当前目录中的最新内容,但我并没有真正理解它们......所以我希望有人能帮我一把。
谢谢 !
编辑:感谢不同的答案,我最终得到了这样完美的东西:
filename="fileIwant"
regex=".*/"$filename"-([0-9]+(\.[0-9]+)*).*/"$filename"\.txt"
path="$(find . -regextype awk -regex $regex -type f -printf '%T@ %p\n' | sort -n | cut -f2- -d" " | tail -1)"
(它显然不完全符合我之前的例子)
解决方案
只需两个命令即可轻松完成此操作:
ls -t Directory/dir*/fileIwant.txt | head -n 1
ls
带有选项的命令-t
根据页面按修改时间排序其结果,最新的在前man
。
推荐阅读
- javascript - reactjs中的“TypeError:无法读取未定义的属性'过滤器'”
- r - R中的CART(分类和回归树)模型预测错误消息说-提供的项目多于分配的项目
- javascript - 如何比较数组不同对象的值
- php - 如何将json数据获取到角度数组变量
- python-3.x - 如何使用python同时求解微分方程?
- rvalue-reference - 在 C++ 中从父对象构造子对象
- css - CSS动画上奇怪的覆盖/闪烁
- javascript - 如何使用 JS 变量更新 Jquery 日历
- python - 使用 python 库检索 OPC UA 空间地址
- java - 如何导出Spring Boot Maven项目的jar文件