Извлечение чисел перед словом

Мы можем долго обсуждать, как ведет себя или должна вести себя yum, но вкратце:

yum --cacheonly remove -y mysql-community-client

- это то, что вы, вероятно, захотите.

0
19.06.2018, 16:38
2 ответа

Использованиеgrep:

grep -Po "[0-9]+(?= messages)"

Пояснение:

  • -P:Использовать Perl -Регулярное выражение (PCRE)
  • -o:выводит только совпадение, а не совпадающую строку.
  • [0-9]+соответствуют цифрам.
  • (?= messages)соответствует, только если "сообщения" следует за (= положительный просмотр вперед).
1
28.01.2020, 02:23

С awkи при условии, что это десятичные целые числа с необязательным пробелом между числом иmessages:

cmd | awk '
  match($0, /[[:digit:]]+[[:space:]]*messages/) {
    sum += substr($0, RSTART)
  }
  END {print 0+sum}'

Сperl:

cmd | perl -lne '$s += $1 if /(\d+)\s*messages/; END{print 0+$s}'
2
28.01.2020, 02:23

Теги

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