awk
#查看第二行到第四行的数据
netstat -nltp | awk 'NR == 2, NR == 4'
#查看第二行和第四行的数据
netstat -nltp | awk 'NR == 2; NR == 4'
#输出第4列和最后一列的数据
netstat -nltp | awk '{print $4,$NF}'
#指定分隔符
awk -F ':' '{print $NF}'
#查询第一列以tcp6 开头的行
netstat -nltp | awk '$1~/^tcp6/{print}'
#组合
netstat -nltp | awk 'NR == 3, NR == 5 {print $4}' | awk -F ':' '{print $NF}'
sed
#在第一行插入一条记录 (从第一个有效字符开始插入,空格忽略)
sed -i '1i hello,world' state
#在第一行删除一条记录
sed -i '1d hello,world' state
#在以 tcp6 开头 行 添加 hello, 以 tcp6 结尾的行 添加 bye,tcp6
netstat -nltp | sed -e '/^tcp6/i hello, tcp6' -e '/tcp6$/a bye, tcp6'
# 修改以tcp6开头的行, 替换为 tcp8
sed "s/^tcp6/tcp8/g" state
-i 是写入磁盘的意思
-e 是多个条件并行
grep
# 查找 0.0.0.0 的行, 忽略大小写
netstat -nltp | grep -i "0.0.0.0"
# 查找 0.0.0.0 下3行
netstat -nltp | grep -a3 '0.0.0.0'
# 查找 0.0.0.0 上3行
netstat -nltp | grep -b3 '0.0.0.0'
# 查找 0.0.0.0 上、下3行
netstat -nltp | grep -c3 '0.0.0.0'