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 @ 2022-07-01 14:39  30度以南  阅读(15)  评论(0)    收藏  举报