Extracting the forever ID of a nodeJS instance using grep
Pergunta
I'm new to shell scripts and I'm not having much luck with it. How would I extend the following snippet to just get the number between the [
and ]
?
$ forever list | grep app.js
--> data: [0] LxSl node app.js 26017 49833 /Users/username/.forever/LxSl.log 0:0:0:0.57
Thanks for your help
Solução
Pipe it to awk '{print $3}'}
, that'll give you [0]
To remove the brackets, you can e.g. use tr -d []
Everything can also be done from within awk, using gsub
. Then there is sed
...
...| awk '{print $3}' | tr -d []
0
...| awk '{gsub(/\[|\]/, "", $3);print $3}'
0
Outras dicas
You can use sed
to do this, an example:
$ 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
If you have GNU grep: ... | grep -Po '(?<=\[)\d+(?=\])'
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow