欢迎光临
我们一直在努力

三剑客 awk

1、课程知识概述部分
1)三剑客awk命令概述介绍
2)三剑客awk命令执行原理 语法结构
3)三剑客awk命令的实操练习
·查询东西
·替换信息
·排除(取反)
4)三剑客awk命令高级功能 【数组】
统计分析数据信息 求和运算 / 累加运算(有一个算一个)

2、课程知识回顾说明
1)sed命令语法格式 sed 参数 ‘条件 指令’ 文件信息
参数:
-n —–取消输出模式
-i ——真正编辑文件内容
-r —-识别扩展正则
-e —–识别多个条件操作
指令
p —输出模式
d —-删除操作
a —-附加操作
i —-插入操作
s —-替换操作
g ——全局替换
r ——
c —–
条件信息
$
n
n,m
/字符/
\

3、三剑客awk命令概述部分
awk – pattern scanning and processing language
模式扫描(处理文件每一行信息)过程语言(一门脚本语言)
作用说明:
1)擅长对文件的列操作
2)擅长统计分析数据信息
4、三剑客awk命令执行原理
执行原理过程:

命令语法结构:awk 【参数】 ‘模式{动作信息}’ 文件信息 模式就是条件

5、三剑客awk 命令操作练习
环境准备
几列 默认的是空格为间隔

Zhang Dandan 41117397 :250:100:175
Zhang Xiaoyu 390320151 :155:90:201
Meng Feixue 80042789 :250:60:50
Wu Waiwai 70271111 :250:80:75
Liu Bingbing 41117483 :250:100:175
Wang Xiaoai 3515064655 :50:95:135
Zi Gege 1986787350 :250:168:200
Li Youjiu 918391635 :175:75:300
Lao Nanhai 918391635 :250:100:175

1、显示Xiaoyu的姓氏和ID号码
a)根据条件找出相应的行
awk /Xiaoyu/ awk.txt 选取行

b)输出相应列信息

awk ‘/Xiaoyu/{print $1" "$3}’ awk.txt

    Zhang 390320151

awk ‘/Xiaoyu/{print $1,$3}’ awk.txt

    Zhang 390320151

说明:$n~/xxx/ 指定查找某人的捐款

  1. 姓氏是zhang的人,显示他的第二次捐款金额及他的名字
    解题步骤一: 根据条件找出相应行

    awk ‘$1~/Zhang/’ awk.txt

    Zhang  Dandan    41117397    :250:100:175
    Zhang  Xiaoyu    390320151   :155:90:201

[root@oldboy69 oldboy 10:43:46]# awk -F ":" ‘{print $2,$3}’ test08.txt|column -t
linux 69
linux 66
python 20
dba 01
说明: 利用-F指定列分隔符
[root@oldboy69 oldboy 10:49:50]# awk -F ":|;|@" ‘{print $2,$3}’ test08.txt|column -t
linux 69
linux 66
python 20
dba 01
[root@oldboy69 oldboy 10:49:52]# awk -F "[:;@]" ‘{print $2,$3}’ test08.txt|column -t
linux 69
linux 66
python 20
dba 01
说明: 利用-F指定列分隔符, 结合正则可以识别多个分隔符号

    [root@oldboy69 oldboy 10:54:13]# awk -F "[ :@]+" '{print $2,$3}' test08.txt|column -t
    linux   69
    linux   66
    python  20
    dba     01
    说明: 利用-F指定列分隔符. 可以使用[ :@]+将多个连续分隔符看成一个整体
  1. 显示所有以41开头的ID号码的人的全名和ID号码
    解题步骤一: 根据条件找出相应行
    awk ‘$3~/^41/’ awk.txt

    解题步骤二: 输出相应列信息
    # awk '$3~/^41/{print $1,$2,$3}' awk.txt
    Zhang Dandan 41117397
    Liu Bingbing 41117483
  2. 显示所有以5或者0结尾id显示出来, 并显示人的名字和ID号码

不要以0或5结尾的

  1. 显示Xiaoyu的捐款,每个时都有以$开头, 如$110$220$330
    awk替换信息方法
    gsub(/替换的信息/,"要替换成什么",$n替换的第几列信息)

    awk ‘$2~/Xiaoyu/{gsub(/:/,"$",$4);print $4}’ awk.txt
    $155$90$201

6、三剑客awk命令高级用法
01、awk模式概念
普通模式:利用正则进行匹配/利用行号进行匹配/利用字符进行匹配
特殊模式:
·BEGIN 在处理文件之前先做的事情(准备工作)
a、将awk作为计算机使用

b、进行变量的设定

内置变量:
NR:表示行号

NF:表示字段信息(列)

FS: 表示分隔符字段信息

·END 在处理文件之后要做的事情(后续工作)
输出结果 信息

Ps:在系统中有时引号需要窃入式使用时,不能使用相同的
‘‘’’—-双单引号不对
““””—-双 双引号不对
“‘’” —-单双引号使用

c)输出相应列信息

将数据对齐

7、awk课程总结
1)awk 命令语法格式:awk【参数】 ‘模式(2中){动作}’} 文件信息
2)awk使用方法:
·参数:-F
-v
·动作信息:print gsub 运算(累加 求和)
擅长将列的信息取出

3)awk高级部分知识:
a)模式概念:特殊模式 普通模式
b)内置变量:NR NF FS

预习:(下周讲解内容)
1、用户权限知识
2、定时任务知识
3、磁盘管理知识 阵列 分区
休息一天进行综合考试

网络基础知识
综合架构网站部署

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。