暂无图片
截取AWK输出记录
我来答
分享
Thomas
2022-10-27
截取AWK输出记录

netstat -n|grep .1521|awk '{print $4}' 得到netstat输出结果里含内容.1521的条目,输出localaddress那列。

如输出内容为:

192.168.2.10.1521

4.5.6.7.1521

现在需要输出时就自动去掉.1521这部分,得到如下输出

192.168.2.10

4.5.6.7

请问如何写netstat命令?

我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
刚阿德

你的命令追加上 | awk -F '.' '{print $5}'  试试

暂无图片 评论
暂无图片 有用 1
农夫三拳

netstat -n|grep .1521|awk '{print $4}' |sed 's/......$//'

暂无图片 评论
暂无图片 有用 1
Thomas

哇哈哈,补充下,我这里输出的是两列,localaddress和foreign address,原始输出为:

192.168.1.5.1521   8.9.10.11.10359

原始语句为netstat -n|grep .1521|awk '{print $4}'

现在想去掉每列上最后一个点以及其后的端口号,输出为这样:

192.168.1.5   8.9.10.11

你刚才给的答案,只能去最右边的部分,现在要去每列最右边的端口部分,请问如何写

暂无图片 评论
暂无图片 有用 1
张sir

你的原始语句只能输出一列哈:

[oracle@db01 ~]$ netstat -n|grep .1521
tcp 0 0 11.0.1.4:17128 11.0.1.4:1521 ESTABLISHED
tcp6 0 0 11.0.1.4:1521 11.0.1.4:17128 ESTABLISHED
[oracle@db01 ~]$ netstat -n|grep .1521|awk '{print $4}'
11.0.1.4:17128
11.0.1.4:1521

试试这个:

[oracle@db01 ~]$ netstat -n|grep .1521|awk '{print $4 " " $5}' | awk -F ':' '{print $1 " " $2}' |awk '{print $1 " " $3}'
11.0.1.4 11.0.1.4
11.0.1.4 11.0.1.4

[oracle@db01 ~]$ netstat -n|grep .1521|awk '{print $4}'
11.0.1.4:17128
11.0.1.4:1521

暂无图片 评论
暂无图片 有用 1
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏