Как работать со специальными символами в учетных данных реестра Docker в новой версии kubectl

ТРФ:

$ grep -Pom1 'Transferred:.*/ \K[^,]*' "$logfile"
577.080 MBytes
  • -Pвключить perl -совместимые регулярные выражения и \Kне включать элементы до \Kв согласованный вывод
  • -oвыводить только совпадающие части строки
  • -m1выйти после первой совпадающей строки, чтобы исключить вторую Transferred:строку

ТРС:

$ grep -Po 'Transferred:[^,]*,[^,]*, \K[^,]*' "$logfile"
12.660 MBytes/s
  • аналогично TRF :получить все, что следует за второй запятой + пробел, который не является запятой
  • здесь -m1не нужно, так как шаблон содержит более одной запятой

ОШИБКА:

$ grep -Po 'Errors:[[:space:]]*\K.*' "$logfile"
0
  • получить только цифры в конце строки, убрать пробелы

ТИМ:

$ grep -Po 'Elapsed time:[[:space:]]*\K.*' "$logfile"
45.5s

Количество переданных файлов:(это первое из двух чисел)

$ grep -Po 'Transferred:[[:space:]]*\K[0-9]+(?= /)' "$logfile"
2
  • (?= /)— это положительный прогноз (PCRE ), где мы ищем пробел и /. Эта часть, как и \K, не включается в совпадающий вывод и необходима, чтобы не совпадать с первой строкой Transferred.
1
05.08.2021, 10:53
0 ответов

Теги

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