zoukankan      html  css  js  c++  java
  • 第4章 awk编程

    1 awk编程模型

    image

    2 awk用法

    调用awk有三种方法(与sed类似):

    • 在Shell命令行输入命令调用awk,格式为:

    awk [-F 域分隔符] ‘awk程序段’ 输入文件

    • 将awk程序段插入脚本文件后,然后通过awk命令调用它:

    awk -f awk脚本文件输入文件

    • 将awk命令插入脚本文件后,最常用的方法是设置该脚本文件为可执行,然后直接执行该脚本文件,格式为:

    ./awk脚本文件输入文件

    注:第二种方法脚本文件的首行不以#!/bin/awk –f开头;第三种方法脚本文件的首行是#!/bin/awk –f

    3 awk编程示例

    3.1 awk模式匹配

    awk语句由模式(pattern)和动作(action)组成。模式决定动作何时触发和触发事件,动作执行对输入行的处理。

    image

    模式部分:^$,是正则表达式,表示空白行;

    动作部分:花括号中的部分,打印操作。

    3.2 记录和域

    awk认为输入文件是结构化的,awk将每个输入文件行定义为记录,行中的每个字符串定义为,域之间用空格、Tab键或其他符号进行分割,分割域的符号就叫分隔符。

    image

    打印第一、二哥域

    image

    3.3 关系和布尔运算符

    关系运算符

    运算符

    意义

    <

    小于

    >

    大于

    <=

    小于等于

    >=

    大于等于

    ==

    等于

    !=

    不等于

    ~

    匹配正则表达式

    !~

    不匹配正则表达式

    布尔运算符

    运算符

    意义

    ||

    逻辑或

    &&

    逻辑与

    !

    逻辑非

    打印/etc/passwd中第一个域匹配root关键字的记录

    image

    3.4 表达式

    运算符

    意义

    +

    -

    *

    /

    %

    ^或**

    乘方

    ++x

    在返回x值之前,x变量加1

    x++

    在返回x值之后,x变量加1

    3.5 格式化输出

    awk借鉴C语言的语法,定义了printf输出语句,它可以规定输出的格式

    修饰符

    意义

    -

    左对齐

    width

    域的步长

    .prec

    小数点右边的位数

    运算符

    意义

    %c

    ASCII字符

    %d

    整型数

    %e

    浮点数,科学记数法

    %f

    浮点数

    %o

    八进制数

    %s

    字符串

    %x

    十六进制数

    打印第一个域的内容

    image

  • 相关阅读:
    git操作
    致橡树
    python 3.8 下安装 tensorflow 1.14
    TensorFlow
    内容充实丰富,情节引人入胜夺人眼球,后面的转折更是点睛之笔
    注册,监听,回调....
    技术,制度,文化
    协议 标准, 框架 ,规范
    ES数据同步方案
    成立思维课
  • 原文地址:https://www.cnblogs.com/boyiliushui/p/5615557.html
Copyright © 2011-2022 走看看