1

我是 shell 脚本的新手,我对它不太走运。我将如何扩展以下代码段以获取[and之间的数字]

$ 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 回答