Как расширить раздел LUKS, чтобы заполнить весь логический том из 2 дисков в LVM?

Вы можете использовать следующий сценарий, если ваш AWK поддерживает переменную IGNORECASEдля принудительного сравнения без учета регистра. (GNU AWK, например. в Linux поддерживает это.)

Если ваш AWK не поддерживает IGNORECASE, вы можете

  • изменить все шаблоны соответствия на нечувствительные к регистру шаблоны, например. /[Pp][Aa][Ss][Ss][Ee][Dd]/вместо /passed/и т. д. или
  • используйте функцию tolowerсо значением, которое необходимо сопоставить, например. tolower($0) ~ /passed/вместо /passed/и т. д.
awk 'BEGIN { IGNORECASE=1; }
/^begin of / { print; count=1; passed=failed=0;}
/^end of / { count=0; totalcount++; if(failed)failcount++;else if(passed)passcount++;}
/passed/ && count { passed=1; }
/failed/ && count { failed=1; }
END {
  print "Total testcases : " totalcount;
  print "Total testcase with Success : " passcount;
  print "Total testcase with Failure : " failcount; }' logfile

С помощью этого ввода (в файлеlogfile)

Begin of A_HL_INT_GPRS_CGDSCONT_0000
Passed
foo
End of A_HL_INT_GPRS_CGDSCONT_0000
Begin of A_HL_INT_GPRS_CGDCONT_0002
bar
passed
FAILED
End of A_HL_INT_GPRS_CGDCONT_0002
Begin of foo
failed
End of bar
foo
Passed
FAILED
bar

Я получаю такой результат

Begin of A_HL_INT_GPRS_CGDSCONT_0000
Begin of A_HL_INT_GPRS_CGDCONT_0002
Begin of foo
Total testcases : 3
Total testcase with Success : 1
Total testcase with Failure : 2

Примечания:
Отредактированная версия скрипта считает passedили failedтолько один раз между строками begin of...и end of..., failedимеет приоритет над passed.
Сценарий не проверяет совпадение идентификаторов в begin of...и end of....

1
26.07.2021, 17:25
0 ответов

Теги

Похожие вопросы