壳里awk打印的用法详解

  

首先,你需要先了解awk的工作原理:
  1. awk读取输入文件一次一行。
  2 .对于每一行,它匹配在给定的顺序模式,如果匹配,执行相应的动作。
  3 .如果没有模式匹配,将执行任何行动。
  4 .在上面的语法,无论是搜索模式,或行动是可选的,但不能同时。
  5 .如果没有给出搜索模式,然后awk要执行每一行输入给定的行动。
  6 .如果没有给出动作,打印,这是默认的操作与模式相匹配的所有行。7。空出的任何行动括号什么都不做。它不会执行默认的打印操作。
  8 .中的每个行动的声明应该用分号分隔。让我们创建employee.txt文件,其中有

  

<强>首先,你需要先了解awk的工作原理:

  

1. awk读取输入文件一次一行。
  2 .对于每一行,它匹配在给定的顺序模式,如果匹配,执行相应的动作。
  3 .如果没有模式匹配,将执行任何行动。
  4 .在上面的语法,无论是搜索模式,或行动是可选的,但不能同时。
  5 .如果没有给出搜索模式,然后awk要执行每一行输入给定的行动。
  6 .如果没有给出动作,打印,这是默认的操作与模式相匹配的所有行。
  7 .空出的任何行动括号什么都不做。它不会执行默认的打印操作。
  8 .中的每个行动的声明应该用分号分隔。

  

<强>让我们创建员工。txt文件,其中有以下内容,这将是在使用
  下文提到的例子。

        猫employee.txt美元   100年托马斯经理销售5000美元   200年杰森开发者技术5500美元   300年Sanjay Sysadmin技术7000美元   400年尼莎经理营销9500美元   500兰迪DBA技术6000美元      

<强> Awk的范例1. Awk的默认行为

  

默认情况下的awk打印文件的每一行。

        1234567   美元awk employee.txt{印刷;}   100年托马斯经理销售5000美元   200年杰森开发者技术5500美元   300年Sanjay Sysadmin技术7000美元   400年尼莎经理营销9500美元   500兰迪DBA技术6000美元      

在上面的例子中模式中没有给出,因此,是适用于所有的行。
  行动与任何参数的打印输出默认情况下,输出整行。

  

<强> Awk的范例2。打印与模式匹配的行。

  

<强> 1234美元awk/托马斯/

        比;尼莎/employee.txt   100年托马斯经理销售5000美元   400年尼莎经理营销9500美元      

在上面的例子,它打印的“托马斯”或“尼莎”匹配的所有行。它有两种模式。

  

<强> Awk的范例3。只打印特定的字段& # 8203;& # 8203;。

  

awk有内置的变量。对于每一个记录,即行,分隔空白字符分隔记录默认情况下,它存储在$ n个变量。如果该行有4个词,它会被存储在1美元,<数学> <语义> 2 、2、2、3和4。0美元表示整行。NF是一个内置变量,它代表这一行有多少个被分隔的域。

        12345678910111213美元awk的{打印2美元,5美元;}’employee.txt   托马斯5000美元   杰森5500美元   桑杰7000美元   尼莎9500美元   兰迪6000美元            $ awk '{打印2美元,美元NF;}’employee.txt   托马斯5000美元   杰森5500美元   桑杰7000美元   尼莎9500美元   兰迪6000美元      

<强> Awk范例4。初始化和最终行动

  

Awk两个重要的模式,由关键词开始和结束标识

  

的语法:   

开始{行动}
  {行动}#行动everyline在文件
  结束{行动}

  

#是评论在Awk

  

这是一个例子

  

12345678910111213
  <强> $ awk '开始{打印”的名字\ tDesignation \ tDepartment \ tSalary”;}

        比;{打印2美元,“\ t”, 3美元,“\ t”, 4美元,“\ t”, NF美元;}   比;结束{打印报告生成\ n - - - - - - - - - - - - - - - -”;   比;}’employee.txt   名称指定部门工资   托马斯经理销售5000美元   杰森5500美元开发技术   桑杰Sysadmin技术7000美元   尼莎经理营销9500美元   兰迪DBA技术6000美元   报告生成   - - - - - - - - - - - - - - - -      

在上面的例子,它打印出的报告和最后文件的标题

壳里awk打印的用法详解