Как подсчитать количество вхождений слова в многострочной переменной в скрипте bash - PullRequest
0 голосов
/ 25 марта 2020

У меня есть сценарий bash, который читает команду в переменную.

что-то вроде

status="$(somescript.sh 2>&1)" #yeah the script prints to STDERR with RC=0...

переменная status содержит что-то вроде:

bla bla
-------
123 OK
456 OK
789 OK

Теперь я просто хочу посчитать количество вхождений "OK" в статусе var, чтобы потом я мог проверить, является ли count -lt 3

Я пытался создать массив из var статус с IFS = ..., но что-то не работает при назначении,

я пробовал grep + w c в скрипте bash,

я пробовал tr внутри скрипта, но что-то с расширением var status завершается неудачно,

и все примеры на net предназначены для чтения из файла, а не var.

Но я в bash чтение сценария из переменной bash.

1 Ответ

0 голосов
/ 25 марта 2020
grep -o 'OK' <<< $status |  wc -l

Демо:

-------
123 OK
456 OK
789 OK' 
$grep -o 'OK' <<< $var 
OK
OK
OK
$grep -o 'OK' <<< $var  |  wc -l
3
$
...