三剑客 awk

发布时间:2020-04-30 18:52:19 作者:江湖二胖
来源:网络 阅读:126

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

三剑客  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

命令语法结构: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

三剑客  awk

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

三剑客  awk

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

    awk '$1~/Zhang/' awk.txt

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

    三剑客  awk

三剑客  awk
[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号码

三剑客  awk

不要以0或5结尾的

三剑客  awk

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

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

三剑客  awk

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

NF:表示字段信息(列)

FS: 表示分隔符字段信息

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

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

c)输出相应列信息

将数据对齐

三剑客  awk

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

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

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

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

三剑客  awk

三剑客  awk

推荐阅读:
  1. 文本三剑客之awk
  2. 正则表达式及编程三剑客(grep、sed、awk)命令详解

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

awk 基础讲解

上一篇:C语言-内存

下一篇:Apache和Nginx虚拟主机的创建

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》