当前位置: 技术问答>linux和unix
!!linux下文件名称以时间结尾的,如何在shell脚本中找到时间最新的那个文件?
来源: 互联网 发布时间:2016-08-03
本文导语: linux下 /root目录下的三个文件名称最后的结尾部分是以时间命名的,如何在shell脚本中找到时间最新 的那个文件? 如/root下文件名称为: slave-20100203-1357 slave-20100203-1417 slave-20100203-1710 ... 谢谢 | ...
linux下 /root目录下的三个文件名称最后的结尾部分是以时间命名的,如何在shell脚本中找到时间最新
的那个文件?
如/root下文件名称为:
slave-20100203-1357
slave-20100203-1417
slave-20100203-1710
...
谢谢
的那个文件?
如/root下文件名称为:
slave-20100203-1357
slave-20100203-1417
slave-20100203-1710
...
谢谢
|
ll -t|awk 'NR==2{print $9;exit}'
ll -t:按时间排序
awk 'NR==2{print $9;exit}':取第二行,也就是最新的,$9第九列就是文件名
ll -t:按时间排序
awk 'NR==2{print $9;exit}':取第二行,也就是最新的,$9第九列就是文件名
|
结果屏幕输出的那个文件就是你要的
#!/bin/sh
path=/root/ //改成你的路径
filename=`ls ${path}`
tmp_date=0
for file in ${filename}
do
file_date=`echo ${file} | awk -F'-' '{print $2$3}'`
if [[ ${file_date} -gt ${tmp_date} ]];then
tmp_date=${file_date}
tmp_filename=${file}
fi
done
echo ${tmp_filename}