我使用lsof -i | grep -E "(LISTEN|ESTABLISHED)"
趨於活躍連接,我想第一個數字:
例我如何從比賽( S d +) s每個lsof的輸出線
Coda\x202 551 username 46u IPv4 0x8c39e71075d65ab7 0t0 TCP 192.168.0.35:62283->192.168.0.187:6942 (ESTABLISHED)
Coda\x202 551 username 47u IPv4 0x8c39e710759c6c57 0t0 TCP 192.168.0.35:6942->192.168.0.37:59833 (ESTABLISHED)
Coda\x202 551 username 50u IPv4 0x8c39e710759c6c57 0t0 TCP 192.168.0.35:6942->192.168.0.37:59833 (ESTABLISHED)
firefox 981 username 70u IPv4 0x8c39e71070895867 0t0 TCP 192.168.0.35:61753->ec2-52-35-204-251.us-west-2.compute.amazonaws.com:https ESTABLISHED)
Google 16045 username 83u IPv4 0x8c39e71078aba387 0t0 TCP 192.168.0.35:62596->109.239.193.10:https (ESTABLISHED)
Google 16045 username 84u IPv4 0x8c39e71075f52df7 0t0 TCP 192.168.0.35:63819->ham02s15-in-f195.1e100.net:https (ESTABLISHED)
551,981和16045
因此,我可以將所有基於ID的連接分組並打印到分隔文件中。
擺弄周圍用正則表達式後,我得到這個表達
(\s\d+)\s
它匹配我想要的數字,但我不能讓它進入我的bash腳本。
我不確定sed,awk或grep等是否更合適。
什麼爲您提供了輸入您的預計輸出? – Inian
如何使用tr + cut? 'lsof -i | tr -s''|砍-d''-f2,10' – Dana