|
@@ -2,6 +2,7 @@
|
|
|
|
|
|
# $1:文件夹名称
|
|
|
# $2:匹配字符串
|
|
|
+# $3:可选参数,文件名不包含此参数
|
|
|
|
|
|
dir="/logs/$1"
|
|
|
|
|
@@ -10,10 +11,14 @@ if [ ! -d "$dir" ]; then
|
|
|
exit 1
|
|
|
fi
|
|
|
|
|
|
-file=$(ls -t "$dir" | head -n 1)
|
|
|
+if [ -z "$3" ]; then
|
|
|
+ file=$(ls -t "$dir" | head -n 1 | grep "error")
|
|
|
+else
|
|
|
+ file=$(ls -t "$dir" | head -n 1 | grep -v "$3")
|
|
|
+fi
|
|
|
|
|
|
if [ -z "$file" ]; then
|
|
|
- echo "目录 $dir 中没有任何文件"
|
|
|
+ echo "目录 $dir 中没有符合要求的文件"
|
|
|
exit 1
|
|
|
fi
|
|
|
|
|
@@ -27,4 +32,4 @@ fi
|
|
|
line_number=$(echo "$matching_line" | cut -d ":" -f 1)
|
|
|
echo "在文件 $file 中找到了字符串 '$2',位于第 $line_number 行:"
|
|
|
|
|
|
-sed -n "$((line_number - 50)),$((line_number + 100))p" "$dir/$file"
|
|
|
+sed -n "$((line_number - 50)),$((line_number + 100))p" "$dir/$file"
|