Linux基础——awk工具
1、awk删选ip字段,通过cut打印ip
# awk截取字段,分隔符管道符“|”左边为第一个打印字符
# cut截取字段,分隔符双引号“"”左边为第一个打印字符
脚本展示:
#!/bin/bash cat /root/ip.txt | grep "10.139" | awk -F'|' '{print $6}' | cut -d '"' -f8
# awk删选ip及掩码字段,cut通过“/”作为分隔符打印第一列
[root@Harbor tmp]# ip a | grep ens33 | awk -F' ' '{print $2}' | cut -d '/' -f1 ens33: 192.168.177.140
2、查找包含字符sshd行,通过“xargs -L”传参右侧echo指令按1列打印
ps -ef | grep sshd | awk '{print $2}' | xargs -L 1 echo
# 左边echo输出字符串,通过xargs -I {}指定传参位置“{}”
echo "file1 file2 file3" | xargs -I {} echo "processing {}"
3、打印第3行、第5行及以后的行,匹配第9列小于70的行并升序排列;
sar -u -f .var/log/sa/sa02 | awk -F ' ' 'NR==3 {print} NR>=5 && $1!="Average:" && $9 <70 {print} ' |sort -n -k 4| more
注意:
语法报错:awk命令行模块间,以单引号''作为字符分隔符;在单个模块内,以双引号“”作为分隔。
4、双引号无效输出,{}两边使用双引号不生效
5、print跟随双引号才能添加所需字符
6、删选第三列插入字符$3="e f g"
7、删除行首和行尾的空格、分隔符的空白部分,并每列首字母对齐
awk 'BEGIN{OFS="\t"}{$1=$1;print}' awk_txt
8、删选除lo网卡以外的所有ipv4地址
ifconfig | awk '/inet / && !($2 ~ /^127/){print $2}'
9、删选除lo字符以外第六列的ip字符
ifconfig | awk 'BEGIN{RS=""}!/lo/{print $6}'
10、“-F”选定分隔符,通过!arr[$1]选定第一列去重
awk -F" " '!arr[$1]++{print}' text.txt
11、打印TCP连接数量
# 打印tcp连接状态,匹配从左往右tcp字符串行并计数存入arr[]数组打印,
netstat -tnap |awk '
/^tcp/{
arr[$6]++
}
END{
for(state in arr){
print state ": " arr[state]
}
}
'
LISTEN: 7
ESTABLISHED: 1
# 或
netstat -tnap | awk '/^tcp/{arr[$6]++} END{for(state in arr){print state ":" arr[state]}}'
# 拓展——查找某列中包含的sshd字符串计数并打印
netstat -tnap | awk '/sshd/{arr[$7]++} END{for(state in arr){print state ":" arr[state]}}'
12、awk加入比较(大于、等于、小于、大于等于、小于等于)
# 大于
sar -r | awk '$9 > 1020992 {print $N}'
# 等于
# 小于
# 大于等于
# 小于等于
# 不等于
# 大于和小于
sar -r | awk '$9 > 1020992 || $9 < 100 {print $N}' | sort -rk 9
# 加入if语句
稳步前行,只争朝夕。
分类:
System
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!