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
 
制表符 /t
[root@localhost yanliao]# gawk -F: '$3>=1000 { print$1 "\t" $7 }' /etc/passwd
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

举例子:打印输出信息时加上表头
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

 
 
 
 
 
 
 


posted @   30度以南  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示