用于查找最新日志文件的bash脚本

用于查找最新日志文件的bash脚本,bash,wildcard-expansion,Bash,Wildcard Expansion,我想使用bash脚本在目录中查找最新的日志文件(.log扩展名) 起初,我的简单尝试效果不错 filename=`ls -t -c1 | head -1` 但当我承认可以找到日志文件以外的文件时,由于通配符扩展,这不起作用 filename=`ls -t -c1 *.log | head -1` 因此,我认为我必须将ls命令读入数组或文件,然后从那里进行处理。它似乎工作正常 Kaizen ~/so_test $ ls -lt -c1 z* -rw-r--r-- 1 Nitin None 3

我想使用bash脚本在目录中查找最新的日志文件(.log扩展名)

起初,我的简单尝试效果不错

filename=`ls -t -c1 | head -1`
但当我承认可以找到日志文件以外的文件时,由于通配符扩展,这不起作用

filename=`ls -t -c1 *.log | head -1`

因此,我认为我必须将ls命令读入数组或文件,然后从那里进行处理。

它似乎工作正常

 Kaizen ~/so_test $ ls -lt -c1 z*
-rw-r--r-- 1 Nitin None 318 Jun  5 21:59 ztestfile1
-rwxrwxrwx 1 Nitin None 398 Jun  5 21:41 zawk1.sh
或者你也可以用find….试试你的手

 Kaizen ~/so_test $ find . -mtime 0 -a -mtime -1 -iname "z*" | xargs ls -ltr | sort -k9 -r
 -rw-r--r-- 1 Nitin None 318 Jun  5 21:59 ./ztestfile1
 -rwxrwxrwx 1 Nitin None 398 Jun  5 21:41 ./zawk1.sh

但这需要一点技巧来满足您的确切需要。

什么意思是“由于通配符扩展而无法工作”?这对我很有用。你知道,你是对的,这个例子确实有用。在将我的脚本简化为一个示例时,有些东西丢失了。我将更仔细地观察我的症状,并在明天报告。谢谢…在测试了一些之后,我没有问题。抱歉误报,但谢谢你的建议……莱尔