shell -awk 输出流的处理
gawk 分隔符 ‘ 条件 {print $排位 $排位} ’ 文件名
常用命令选项
-f 数据字段的文件分割符 默认为空格
-f 读取程序的文件名
-v 定义awk程序中使用的变量和默认值
awk程序运行的优先级是:
1)begin 在开始处理数据流之前执行 可选项
2)program 如何处理数据流,必选项
3)end 处理数据流后执行 可选项
awk的基本用法---wak数据提取功能
1)列的提取
$0 整行文本 [root@localhost yanliao]# gawk “ {print $0} ” test
$1 第一个数据字段
$N 第n个数据字段
$NF 最后个字段
举例子:获取当前主机指定网卡的ip地址
[root@localhost yanliao]# gawk -F: '$3>=1000 { print$1 $7 }' /etc/passwd
输出结果:
nfsnobody/sbin/nologin
yanliao/bin/bash
lichao/bin/bash
nfsnobody/sbin/nologin
yanliao/bin/bash
lichao/bin/bash
制表符 /t
[root@localhost yanliao]# gawk -F: '$3>=1000 { print$1 "\t" $7 }' /etc/passwd
nfsnobody /sbin/nologin
yanliao /bin/bash
lichao /bin/bash
nfsnobody /sbin/nologin
yanliao /bin/bash
lichao /bin/bash
举例子:打印出系统中能登陆的普通用户
多条件 &&
[root@localhost yanliao]# gawk -F: '$3>=1000 && $7=="/bin/bash" { print$1 "\t" $7 }' /etc/passwd
yanliao /bin/bash
lichao /bin/bash
yanliao /bin/bash
lichao /bin/bash
举例子:打印输出信息时加上表头
BEGINE 设置计数和打印头部信息
[yanliao@localhost ~]$ gawk -F: 'BEGIN{print"name"}$3>=1000 && $7=="/bin/bash" { print$1 "\t" $7 }' /etc/passwd
name
yanliao /bin/bash
lichao /bin/bash
name
yanliao /bin/bash
lichao /bin/bash
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端