Извлечение вечного идентификатора экземпляра nodeJS с использованием grep - PullRequest
1 голос
/ 17 декабря 2011

Я новичок в сценариях оболочки, и мне не очень повезло с этим. Как бы я расширил следующий фрагмент, чтобы просто получить число между [ и ]?

$ forever list | grep app.js
--> data:   [0] LxSl node    app.js 26017   49833 /Users/username/.forever/LxSl.log 0:0:0:0.57 

Спасибо за вашу помощь

Ответы [ 3 ]

4 голосов
/ 17 декабря 2011

Отправьте его на awk '{print $3}'}, что даст вам [0]. Чтобы снять скобки, вы можете, например, использовать tr -d []

Все также можно выполнить из awk, используя gsub.Тогда есть sed ...

...| awk '{print $3}' | tr -d []
0

...| awk '{gsub(/\[|\]/, "", $3);print $3}'
0
1 голос
/ 17 декабря 2011

Для этого можно использовать sed, например:

$ echo "--> data:   [0] LxSl node    app.js 26017   49833 /Users/username/.forever/LxSl.log 0:0:0:0.57"|sed -e "s/[^[]*\[\([0-9]\)\].*/\1/"
0
0 голосов
/ 18 декабря 2011

Если у вас GNU grep: ... | grep -Po '(?<=\[)\d+(?=\])'

...