【发布时间】:2020-08-21 08:46:48
【问题描述】:
我正在尝试在与某个模式匹配的子目录中找到最新编辑文件的路径。为此,我想使用 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)"
(显然与我之前的示例不完全匹配)
【问题讨论】:
标签: bash