1

私はシェルスクリプトに不慣れで、あまり運がありません。[次のスニペットを拡張して、との間の数字を取得するにはどうすればよい]ですか?

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

ご協力いただきありがとうございます

4

3 に答える 3

4

パイプで接続すると 、ブラケットを取り外すには、たとえば次のように使用できますawk '{print $3}'}[0]tr -d []

を使用して、awk内からすべてを実行することもできますgsub。それからありsedます...

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

...| awk '{gsub(/\[|\]/, "", $3);print $3}'
0
于 2011-12-17T13:03:46.493 に答える
1

これを行うために使用できます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
于 2011-12-17T13:01:53.007 に答える
0

GNU grepを使用している場合: ... | grep -Po '(?<=\[)\d+(?=\])'

于 2011-12-17T23:06:01.327 に答える