我是shell脚本的新手,我没有太多运气。如何扩展以下代码段以获取[
和]
之间的数字?
$ forever list | grep app.js
--> data: [0] LxSl node app.js 26017 49833 /Users/username/.forever/LxSl.log 0:0:0:0.57
感谢您的帮助
答案 0 :(得分:4)
将其管道传输到awk '{print $3}'}
,这会给你[0]
要删除括号,您可以例如使用tr -d []
使用gsub
也可以在awk中完成所有操作。然后有sed
...
...| awk '{print $3}' | tr -d []
0
...| awk '{gsub(/\[|\]/, "", $3);print $3}'
0
答案 1 :(得分: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
答案 2 :(得分:0)
如果你有GNU grep:... | grep -Po '(?<=\[)\d+(?=\])'