求助:shell获取文件下最新的一个文档,并打开它
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求助:shell获取文件下最新的一个文档,并打开它相关的知识,希望对你有一定的参考价值。
Shell脚本里写一个执行命令,思路如下:
前一段命令执行完后,按回车进入a文件夹里,自动获取所有子文件内最新日期的一个text.txt文档,并打开!
我是要在Mac上运行该命令的
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实现 一直扫描远程某文件夹 有新文件 就下载到本地目录下?