我得到的输出如下所示lsof -F
:
p7646
g7646
R8300
csocat
u1000
Labe
f3
au
l
tIPv4
G0x80002;0x0
d640391
o0t0
PTCP
n*:51352
TST=LISTEN
TQR=0
TQS=0
我正在尝试捕获 value 51352
,这是我有兴趣了解的绑定端口。
我很接近,我可以n*:51352
通过以下方式获得价值:
awk '/^n/ { print $1 }'
实际上可以通过两个单独的s获得51352
我需要的确切值:awk
awk '/^n/ { print $1 }' | awk -F':' '{print $2}'
但是有没有更好的方法,无论是单个命令awk
还是更干净的非awk
解决方案?
应该只有一行以开头,n*
所以我不需要担心处理多行。
答案1
将两者结合起来:
awk -F: '/^n\*:/ {print $2}'
答案2
其他可能性:
sed
sed -n 's/^n\*:\(.*\)/\1/p'
grep
grep -Po '^n\*:\K.*'