shell获取目录下最新的文件,文件是以日期命名

shell获取目录下最新的文件,文件是以日期命名,第1张

shell编程:

如果你为每个文件按日期命名的格式都一致的话,那么”ls -l“命令列出的文件列表就是默认按文件名称(日期先后)排序的。那么最后一个就是最新的,文件名可以用以下方式获取。

filename=‘ls -l | tail -n 1 | awk '{print $9}'’

转移文件用 mv 命令即可

逐条解释:

ls -lt /dirname/

列出此目录下的所有文件并按照时间先后排序

grep filename

过滤出包含关键字的文件

head -n 1

查看排名第一的文件

awk '{print $9}'

打印出第九字段,此处为文件名

#/bin/sh

function tmp_fun()

{

echo "press Enter to continue or other key to exit"

read -n 1 _tmp_key

echo "$tmp_key"

if [ "$_tmp_key" != "^@" ] then  #这里的^@是以ctrl+v,ctrl+Enter打印的,中间ctrl不放

        exit 0  

else

        cd a    #这里是a文件夹,具体路径自己写

        vi `find . -name "text.txt"  -printf "%AD %AT %f\n"|sort|tail -1|cut -d " "  -f3`  #这里用时vi打开的。

fi

}

#statement 这里是你前一段命令,可以在这里自己加判断执行后面的

tmp_fun

#说明:没加错误处理。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/11980707.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存