使用awk来截取信息的小示范

本文介绍如何利用netstat命令展示活动的互联网连接详情,并通过awk命令精确提取连接状态信息,如ESTABLISHED状态的数量,适用于系统监控与故障排查场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

例如使用netstat命令显示如下信息
$ netstat -n
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 232 192.168.175.101:22 192.168.162.113:49752 ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ] DGRAM 12538133 /run/user/1000/systemd/notify
unix 3 [ ] DGRAM 8185 /run/systemd/notify
unix 8 [ ] DGRAM 10230 /run/systemd/journal/socket
unix 9 [ ] DGRAM 11266 /run/systemd/journal/dev-log
unix 2 [ ] DGRAM 11274 /run/systemd/journal/syslog
unix 3 [ ] STREAM CONNECTED 11556
。。。。。。。。。。。。。。。。。。略

想截取state的信息,可以使用如下awk的命令
$ netstat -n| awk ‘/^tcp/ {++S[$NF]} END{for(a in S) print a, S[a]}’
运行结果为:
ESTABLISHED 1

使用 `awk` 命令截取文本的特定部分时,可以通过指定字段分隔符并引用所需的字段编号来实现。默认情况下,`awk` 使用空格或制表符作为字段分隔符,但也可以根据需要自定义分隔符。 ### 示例:提取特定字段 假设有一个文本文件 `data.txt`,其内容如下: ``` Alice 25 Engineer Bob 30 Developer Charlie 28 Manager ``` 要提取名字和职业这两个字段,可以使用以下命令: ```bash awk '{print $1, $3}' data.txt ``` 这将输出: ``` Alice Engineer Bob Developer Charlie Manager ``` 在此命令中,`$1` 表示第一个字段(名字),`$3` 表示第三个字段(职业)[^1]。 ### 自定义字段分隔符 如果文件中的字段由其他字符分隔,例如逗号(`,`),则可以在 `awk` 中通过 `-F` 参数指定分隔符。例如,对于一个以逗号分隔的文件 `csv_data.txt`: ``` Name,Age,Occupation Alice,25,Engineer Bob,30,Developer Charlie,28,Manager ``` 可以使用以下命令提取名字和职业: ```bash awk -F ',' '{print $1, $3}' csv_data.txt ``` 这将输出: ``` Name Occupation Alice Engineer Bob Developer Charlie Manager ``` 这里,`-F ','` 指定了逗号作为字段分隔符,并且 `$1` 和 `$3` 分别表示第一个和第三个字段[^1]。 ### 进阶用法:结合模式匹配提取字段 `awk` 还允许根据特定条件筛选行并提取字段。例如,要仅提取年龄大于 25 的记录的名字和职业: ```bash awk '$2 > 25 {print $1, $3}' data.txt ``` 此命令会检查第二字段(年龄)是否大于 25,并仅对符合条件的行执行打印操作。 ### 总结 `awk` 提供了灵活的方式来截取文本的特定部分,无论是基于默认分隔符还是自定义分隔符,都可以轻松提取所需字段。此外,它还支持根据条件筛选数据,从而满足复杂的数据处理需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值