Использование регулярных выражений из командной строки для извлечения числа

Причина, по которой «язык C» и «библиотеки C» упоминаются в этих двух книгах, заключается просто в том, что Unix был написан на C.

Профессор Таненбаум разработал "Minix", который также написан на C.

В 1972 году, когда была создана Unix, не существовало JAVA.

0
04.10.2019, 09:36
2 ответа

В Linux использование просмотра -позади(-Pвозможно только в Gnu grep):

jsc --minimal test.js | grep -Po '(?<=Cyclomatic: min )\d+'

(извлекает первую группу цифр, следующую за"Cyclomatic: min ").

2
28.01.2020, 02:14

Если вы знаете, что эта строка всегда имеет один и тот же формат, вы можете использовать простойcut:

cut -d' ' -f3

или с помощью awkвы можете сделать все, включая первыйgrep:

awk '$1 == "Cyclomatic:" {print $3}'

Если линия может измениться, используйтеsed:

sed -E 's/.*( min )([0-9]+).*/\2/'

или grep -P, если доступно:

grep -Po ' min \K[0-9]+'

или обычныйgrep:

grep -o 'min [0-9]\+'

Это возвращает min 4, который вы можете легко отфильтровать, добавив еще один grepилиcut

grep -o '[0-9]\+$'
# or
cut -d' ' -f2
5
28.01.2020, 02:14

Теги

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