我有一个文件夹,其中包含很多带有模式的补丁文件
1.1.hotfix1
1.2.hotfix2
2.1.hotfix1
2.1.hotfix2 ...etc
并且我必须找出最新的补丁(2.1.hotfix2
应该是示例的结果)
我该如何实现?
答案 0 :(得分:2)
按时间对所有文件进行反向排序并打印第一行。
如果还有其他文件,则可以仅打印包含修补程序文本的文件。
ls -t1 *hotfix* | head -n 1
答案 1 :(得分:1)
您可以将find
与正则表达式一起使用,并从sort
中获取最后一行:
find * -type f -regex "^[^\d]+\.[^\d]+\.hotfix[^\d]+$" | sort | tail -1