【发布时间】:2015-07-06 14:27:54
【问题描述】:
我在 linux 系统上使用以下命令:
lsof -i -n | egrep '\<ssh\>'|awk '{print $8,$9}'
它会产生如下输出:
192.168.199.52:ssh->192.168.199.254:17598 (ESTABLISHED)
192.168.199.52:ssh->192.168.199.254:17598 (ESTABLISHED)
192.168.199.52:56448->69.168.130.22:ssh (ESTABLISHED)
192.168.199.52:56449->69.168.130.22:ssh (ESTABLISHED)
192.168.199.52:56454->69.168.130.22:ssh (ESTABLISHED)
192.168.199.52:56458->69.168.130.22:ssh (ESTABLISHED)
192.168.199.52:56460->69.168.130.22:ssh (ESTABLISHED)
192.168.199.52:56468->69.168.130.22:ssh (ESTABLISHED)
192.168.199.52:ssh->192.168.199.254:56671 (ESTABLISHED)
192.168.199.52:ssh->192.168.199.254:56671 (ESTABLISHED)
192.168.199.52:ssh->192.168.199.254:56672 (ESTABLISHED)
我只想提取左侧的 IP 地址和“->”字段右侧的 IP 地址。如何轻松提取这两个文件并将它们重新组合成以下格式:
192.168.199.52->192.168.199.254
【问题讨论】:
-
最好显示
lsof -i -n的原始输出,否则你会得到类似lsof | egrep | awk | awk的东西,这非常低效。 -
为什么要打印 9 美元而不想要它?