我目前正在监视许多日志文件目录。特别是那些刚刚创建的。自从我的Linux以来已经有很长时间了,经过一番尝试和错误之后,我已经凑齐了我需要的东西,但是返回需要整整20秒或更长时间。我希望我可以请一位专家来研究它,并为我提供一些精简的建议。

find . -type f -follow -print | xargs ls -ltr 2>/dev/null | grep '2\?10' | tail


因此,例如查找与名称匹配的最后10个文件。理想情况下,我想将其转换为一个bash脚本,该脚本接受一个参数并替换grep表达式,但是我一次只能想到一件事。

感谢您的帮助!

最佳答案

我咬紧牙关,写了剧本。我将在以后进行修改。

#!/bin/bash

if [ $# != 2 ]; then
  echo findLog Usage: findLog [3 digit cluster] [pick 1: main message service detail soap]
  exit 0
fi

if [ "$2" == "service" ]; then
     file="$2-time-"
elif [ "$2" == "detail" ]; then
     file="$2-time-"
else file="$2-"
fi

cluster="$1"

#store logpaths for readability
a="/pathto/A"
b="/pathto/B"
c="/pathto/C"
d="/pathto/D"
e="/pathto/E"
f="/pathto/F"
g="/pathto/G"
h="/pathto/H"


logpaths=( $a $b $c $d $e $f $g $h )

for i in "${logpaths[@]}"
do
   ls -ltr "$i"/*.log | grep "$file"${cluster:0:1}${i: -1}${cluster: -2}
done

10-04 16:24