Подавить вывод grep, но записать его в переменную - PullRequest
0 голосов
/ 26 сентября 2011

Я пытаюсь заставить работать следующую строку

WERRORS=`echo $VALPG | grep -q -s -o -m 1 '\<[0-9]* Errors'`

Я хочу, чтобы результат grep попадал в переменную WERRORS, но не выводил эхо в терминале.Поэтому я использую -q, но тогда WERRORS пусто

Ответы [ 3 ]

1 голос
/ 26 сентября 2011
WERRORS=`echo $VALPG | grep -s -o -m 1 '\<[0-9]* Errors'`
1 голос
/ 26 сентября 2011

Если grep отправляет какие-либо сообщения об ошибках, они отправляются на вывод ошибок, который не фиксируется обратными галочками.Если вам нужен этот вывод в переменной (что несколько проблематично, потому что он часто локализован), перенаправьте его, используя 2> & 1:

WERRORS=`echo $VALPG | grep -s -o -m 1 '\<[0-9]* Errors' 2>&1`
0 голосов
/ 27 сентября 2011
kent$  val=abcpc

kent$  a=$(echo $val|grep -o -m 1 -s 'pc')                                                                                               

kent$  echo $a
pc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...