-2

我使用以下命令:

sudo netstat -tnp | grep sshd

输出是:

tcp        0      0 192.201.0.8:22          192.201.0.90:2690       ESTABLISHED 1866/sshd: yang [pr

比,我使用以下命令:

$ echo -n "sshd Port&&pid: " ; sudo netstat -tnp | grep sshd | awk '{print $4, $7}' | sed -r 's/^[^:]*:([a-z]*)/\1/g'

输出是:

sshd Port&&pid: 22 1866/sshd:

最后,使用以下命令:

$ echo -n "sshd Port&&pid: " ; sudo netstat -tnp | grep sshd | awk '{print $4, $7}' | sed -r 's/^[^:]*:([a-z]*)/\1/g; s/([0-9]*)\/sshd:$/\1/g'

输出是:

sshd Port&&pid: 22 1866

虽然我已经解决了我的问题,但有没有更好的方法呢?

另一个答案:

$ sudo netstat -anp | grep "sshd" | grep -v "\]" | sed -r 's/.*:([0-9]+).* ([0-9]*)\/.*$/sshd Port\&\&pid: \1 \2/' | sort | uniq
4

2 回答 2

1

你想多了这个问题:

netstat -anp | awk -F"[: /]" '/sshd/{printf "sshd Port&&pid: %s %s\n", $5,$9 }'
sshd Port&&pid: 22 1866

也就是说:这适用于我的机器,您的 netstats 输出可能会有所不同。

于 2013-04-08T02:41:09.507 回答
1

例如:

$ echo foo/bar | sed 's,/.*,,'
foo
$
于 2013-04-08T02:38:43.913 回答