我为运行程序的日期命名输出文件夹。所以,我的目录中有以下文件夹:
2011.05.18
2011.06.30
2011.07.07
2011.07.27
2011.08.03
如何从命令行自动识别最新的一个(例如,以便我可以在其中创建文件的符号链接)?
答案 0 :(得分:4)
MOSTRECENT=`ls -1 ????.??.?? | sort -r | head -1`
或不使用ls
MOSTRECENT=`for F in ????.??.??; do echo $F; done | sort -r | head -1`
答案 1 :(得分:2)
LATEST=`ls -d1 | sort | tail -1`
如果除了yyyy.mm.dd
目录之外还有其他文件/目录,那么这样会更好:
LATEST=`ls -d1 [0-9][0-9][0-9][0-9].[0-9][0-9].[0-9][0-9] | sort | tail -1`
答案 2 :(得分:1)
for dir in ????.??.?? ; do LATEST=$dir ; done
(不需要ls
。)
答案 3 :(得分:0)
获取按修改时间排序的目录列表,并选择最顶层;
ls -t|head -n 1