linux_三剑客_awk
???gawk - pattern scanning and processing language 【语法结构】: awk 参数 ‘匹配模式 {动作指令}‘ 文件信息 基础操作部分: 查询筛选 -F " "? 指定列的分隔符(参数) awk默认以空格作为分隔列的符号,默认有多个连续的空格看做一个整体 -f file 指定读取程序的文件名 -v var=value 定义awk程序中使用的变量和默认值 注意:awk 程序脚本由左大括号和右大括号定义。脚本命令必须放置在两个大括号之间。由于awk命令行假定脚本是单文本字符串,所以必须将脚本包 括在单引号内。 【内置变量】 NR== 显示指定行号信息(模式) NR 表示文件中行信息
字段提取:提取一个文本中的一列数据并打印输出 字段相关内置变量 $0 表示整行文本 $1 表示文本行中的第一个数据字段 $2 表示文本行中的第二个数据字段 $N 表示文本行中的第N个数据字段 $NF 表示文本行中的最后一个数据字段 ? 排除指定信息 模拟替换修改信息 print gsub 显示指定列的信息(动作) awk修改替换指令: gsub --- gawk substitute awk程序运行优先级是: 1)BEGIN: 在开始处理数据流之前执行,可选项 2)program: 如何处理数据流,必选项 3)END: 处理完数据流后执行,可选项
基础练习题目: 2) 显示指定列信息 第一列 第三列 方法二: 根据字符信息,显示指定内容 1) 找出第二列有xiaoyu信息的行 2) 显示指定列信息 第一列 第三列 02. 姓氏是Zhang的人,显示他的第二次捐款金额及他的名字 第二个历程: 显示输出第二次捐款记录以及名字 03. 显示所有以41开头的ID号码的人的全名和ID号码 第二个历程: 显示出指定列 04. 不要显示所有以41开头ID号码的人全名和ID,将其他人员全名和ID号码显示 05. 显示所有ID号码最后一位数字是1或5的人的全名 显示id号码 06. 显示Xiaoyu的捐款,每个时都有以$开头,如$110$220$330 ---替换 第二个历程: 将金额表示形式修改为用$表示 练习: 第三个历程: 显示IP地址
专业的命令获取文件的权限 高级操作部分: 对日志文件进行分析处理 awk程序的优先级关于awk程序的执行优先级,BEGIN是优先级最高的代码块,是在执行PROGRAM之前执行的,不需要提供数据源,因为不涉及到任何数据的处理,也不依赖与PROGRAM代码块; ? PROGRAM是对数据流干什么,是必选代码块,也是默认代码块。所以在执行时必须提供数据源; ? END是处理完数据流后的操作,如果需要执行END代码块,就必须需要PROGRAM的支持,单个无法执行。 awk模式作用: 用法 awk定义数组数组定义方式: 数组名[索引]=值 awk运算
1.赋值运算:主要是对变量或者数组赋值,如: 变量赋值 name=‘baism‘ school=‘ayitula‘ 数组赋值 array[0]=100 ? 2.比较运算,如果比较的是字符串则按ascii编码顺序表比较。如果结果返回为真则用1表示,如果返回为假则用0表示 3.数学运算 4.逻辑运算 与运算:真真为真,真假为假,假假为假 或运算:真真为真, 真假为真,假假为假 5.匹配运算 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |