case 4.1
Info for unit 1 starts now
info1
info2
info3
info5 - the one I want
info6
info7
Info for unit 2 starts now
info1
info2
info3
info5 - the one I want
info6
info7
endcase 4.1
2 단위에 대한 정보가 파일에 1000 번 이상 인쇄됩니다.Bash - 구문 분석 및 변수
while read line
do
if line contains unit1
then current_unit=1
if line contains unit2
then current_unit2
if line contains info5
then
if current_unit = 1
then unit1_val = *the relevant info from this line*
elif current_unit = 2
then unit2_val = *the relevant info from this line*
if both unit1_val > 20 && unit2_val > 20
then pass
짧은 버전 : 어떤 시점에서 두 값이 모두 전달 된 특정 값, 테스트를 통해하면 내가 필요 값을 당겨을 다음과 같이
내 알고리즘이다. 또한 Bash를 사용하여이 작업을 수행하려고합니다. 명확함을 위해 편집 :if는 변수를 if 문에서 또는 밖으로 전달합니다. 그러나 파싱과 비교는 괜찮습니다. 마지막으로 if 값을 얻지 못하면 값이 없습니다. 왜냐하면 그들은 if-fi와 관련하여 지역에 있기 때문입니다 (또는 경우에 따라 달라질 수 있습니다).
편집 2 :
if [[ $line == *"info5"* ]]
then
CURRENT_UNIT=5
fi
if [[ $line = *"info6"* ]]
then
CURRENT_UNIT=6
fi
if [[ $line =~ "text i want" ]]
then
if [[ $CURRENT_UNIT -eq 5 ]]
then
UNIT_5_MEM=$(awk '/Used heap/ { gsub(/M/, " "); print $4 }')
elif [[ $CURRENT_VC -eq 6 ]]
then UNIT_6_MEM=$(awk '/Used heap/ { gsub(/M/, " "); print $4 }')
fi
fi
if [[ $UNIT_5_MEM -gt 20 && $UNIT_6_MEM -gt 20 ]]
then
echo "Passed"
fi
예의 바르게 행동하십시오. 너에게 더 많은 반응을 줄거야. – xtofl
죄송합니다. 동료가 신고를 듣고 쓰는 중입니다. 무례 함을 의도하지 않았습니다. – confusified
흠 ... 당신의 동료가 그것을 어떻게 평가했는지 궁금합니다. – xtofl