求助:shell获取文件下最新的一个文档,并打开它

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求助:shell获取文件下最新的一个文档,并打开它相关的知识,希望对你有一定的参考价值。

Shell脚本里写一个执行命令,思路如下:
前一段命令执行完后,按回车进入a文件夹里,自动获取所有子文件内最新日期的一个text.txt文档,并打开!
我是要在Mac上运行该命令的

#/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

#说明:没加错误处理。

追问

你好,按照你写的,开始的就没执行成功,我直接用了其中的2段命令 cd +路径,和下段的vi, 也不行,提示报错为no such file or directory; find:-printf:unknown primary or operator,我要在mac系统上执行该命令。
ps,我的最终目的就是要直接打开那些子文件里的一个最近的TEXT档.

追答

首先看看你当前路径--使用pwd命令。再看看你所谓的a文件在那里,cd空格后接的a文件夹的路径,如果a文件夹和你当前路径不一样,那么cd后接直接接文件a就会报错,这里你可以接a文件夹的绝对路径。同理使用vi打开test.txt也是在进去目录a下的前提下,如果没进入a下,你当前路径也没有test.txt这个文件,所以也会报错。关于mac上的find参数这个要看看mac find命令文档才知道。

追问

你好,a文件是我cd 后直从桌面拖到编辑档里的,我也试过,是绝对路径,应该是下面的vi find 导致不行的,我有单独在控制台里执行find . name "text.txt"可以执行ok,所有这之后的命令有问题,麻烦加下我q:376491742,很急啊,谢谢

追答

已添加,请点击接受。

参考技术A 这个需要利用时间来排序的, 找到时间最近的问题当来打开。
这个还是很好办的
shel专家就在!可以交流一下

以上是关于求助:shell获取文件下最新的一个文档,并打开它的主要内容,如果未能解决你的问题,请参考以下文章

如何用shell实现 一直扫描远程某文件夹 有新文件 就下载到本地目录下?

Linux shell提取字符串,文件中以a开头以z结尾的所有字符串

我用的最新版火狐,不小心将下载的文件删除了!!求助找回!

求助:Python爬虫 点击按钮后的数据如何爬取

shell 往一个文件中添加内容

Linux+Shell获取及拷贝最新备份数据