関数TARGET
は空かどうかを確認する必要があり、空の場合は繰り返したいのですが、今回c1TIME=$hours:$minutes:[0-9][0-9]
は実行して、まだ空の場合c1TIME=$hours:$c1minutes[0-9]:[0-9][0-9]
は停止して情報をエコーする必要があります。
$1
エラーのある標準ログファイルです
$TIME
このパターンの時間の文字列HH:MM:SS
これが混乱している場合は申し訳ありませんが、助けていただければ幸いです
この関数の詳細:
最初にたとえばランダムな時間がかかり、12:34:56
c1seconds で "5" だけを読み取ります。次に、 Targetc1TIME
は12:34:5[0-9]
c1TIME の文字列がログファイルにある行を見つけようとし、その番号を出力します。ライン。たとえば、見つかった時間で を
c1DATE
変更します。
残りは実際には重要ではありません 12:34:5[0-9]
12:34:56
上で述べたように、TARGET
空の場合は再度実行する必要があるため、関数の実行中または実行後に TARGET を確認するにはどうすればよいですか?
function check() {
c1seconds=`echo $TIME | awk '{print substr ($1,7,8)}' | head -1c`
c1TIME=$hours:$minutes:$c1seconds[0-9]
TARGET=`cat -n $1 | grep "$c1TIME" | awk '{printf "%s\n",$1}' | awk 'sub("$", "")'| head -1`
c1DATE=`cat $1 | grep "$c1TIME" | grep -Eo "[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2}" | head -1`
EXCEPTION=`tail -$[$WINDOW_LINES-$TARGET] $1 | grep -c Exception`
ERROR=`tail -$[$WINDOW_LINES-$TARGET] $1 | grep -c Error`
SEMAPHORE=`tail -$[$WINDOW_LINES-$TARGET] $1| grep -c semaphore`
echo $TARGET
return 0
}