`
annan211
  • 浏览: 462678 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

awk 编程

    博客分类:
  • awk
 
阅读更多
1 awk处理流程
  awk 按顺序读取文本文件内容,默认以空格区分域。从第一行一直读取到文本的最后一行
  可以通过 F 标签重新指定分割域标示。
 
  //将指定文件按照行读取 并且以 : 分割域,分别打印出 正行以及第一个、第二个、第三个域的值
 
$ awk -F : '{print $0,$1,$2,$3}' filename 

 
  //不同的方法实现上面同样的功能
  $ awk 'BEGIN{FS=":"}{print $0,$1,$2,$3}' filename
  //这里的BEGIN是指在操作具体函数操作之前的指令,通常配合END使用,也可以单独使用
 
2 awk 查看字符串是否包含某子串
 
$ awk '{if($0 ~"root"){print "it matched !"} else{print "nothing..."}}'

 
  ~ 是包含子串的正则匹配,也可以使用 !~ 不包含,同理,这里还可以使用 >,>=,<,<=,==,!= 进行计算比较。
 
  包含子串还可以使用 '//' 标签。例如
 
$ awk '/root/' /etc/passwd

  上面的指令 会打印出包含root子串的一整行信息
 
  同理,还可以通过 '//' 标签截取文本中的一整段信息
 
$ awk '/this is begin str/,/this is end str/' filename 

  上面的指令会打印出 文本文件从begin开始到end结束的文本信息
 
  awk查询特定字符开始的字符串
 
$ awk '$0 ~/^Akl.*/{print $0}' filename 

  上面指令完成在指定文件中查询以Akl开头的数据行
 
3 awk 函数的处理
  比较通用的处理指令可以被写在 特定的文件中,在适当的地方进行调用可以增加代码的复用性
  例如:
  定义一个函数体 在文件 fuc.awk ,其内容被编辑为 {print $1,$2 * $3}
  调用此函数 
$ awk -f fuc.awk filename 

 
4 awk 使用循环
  awk中可以使用for 循环,也可以使用 while循环
  for 实例:
 
$ echo "" | awk '{for(i=1;i<5;i++){print i}}'

  上面指令将会输出 1,2,3,4
 
  while实例:
 
$ echo "" | awk 'BEGIN{uk=10;print "this is begin line"}{while(uk > 0){print uk;uk--}}END{print "this is end line"}'

 
5 awk NF  NR 的使用
  NF : Number of Field,返回的是一个数值,表示指定域的个数
  $NF : 返回的则是域本身的值
 
  NR: Number of Records,返回的是一个数值,表示已经读取了多少行数据。
 

 
 
 
分享到:
评论

相关推荐

    awk编程语言入门

    awk 编程语言入门 awk 编程语言是一种功能强大的命令行语言,主要用于处理文本数据。它可以读取文件或其他命令的输出,并根据条件进行查找和操作。awk 的设计思想很简单,但在实际操作中却很复杂。 awk 中的记录、...

    GAWK-Effective AWK Programming - GNU Awk编程经典

    《GAWK: Effective AWK Programming - GNU Awk编程经典》是一本介绍如何使用GAWK进行编程的指南。 在标题中提到的“GNU Awk编程经典”指的是这本书是学习和掌握GNU Awk编程的权威资源。该书详细介绍了awk语言的基础...

    Sed AWK编程指南

    ### Sed AWK编程指南知识点详解 #### 一、引言 在计算机科学领域,文本处理是必不可少的一部分。其中,`sed` 和 `awk` 是两种非常强大的文本处理工具,广泛应用于Linux/Unix环境中。本指南将详细介绍这两个工具的...

    sed命令和awk编程教程

    ### sed命令和awk编程教程知识点概述 #### 一、sed命令基本概念与使用方法 - **sed命令简介**: - `sed` 是一个非交互式的流编辑器(Stream Editor),主要用于自动化文本处理任务,尤其适合处理大型文件或者复杂的...

    shell、awk编程教材

    **五、AWK编程** AWK是一种强大的文本分析工具,常用于处理和分析结构化的数据文件。它在每一行数据上运行用户定义的模式匹配和操作,提供了灵活的数据处理能力。 AWK的基本结构包括模式(pattern)和动作(action...

    Effective awk Programming, 4th Edition[awk高效编程4版]

    《Effective awk Programming, 4th Edition》是一本深入讲解awk编程技术的专业书籍,旨在帮助读者提升在文本处理和数据操作中的效率。awk是Unix/Linux环境中的一款强大工具,它专门用于处理结构化的文本数据,如日志...

    AWK编程实例指南.rar_AWK ns2_awk_awk unix.shell_awk编程实例

    总的来说,"AWK编程实例指南.rar"提供的资源对于想学习或提升AWK编程能力的人来说非常有价值。通过阅读和实践其中的实例,不仅可以理解AWK的基础知识,还能学习如何在实际项目中有效地应用它。无论是数据处理、日志...

    Effective AWK Programming:Awk 编程的经典著作

    《Effective AWK Programming》是关于AWK编程语言的一本经典著作,主要面向那些希望深入理解和高效使用AWK的读者。AWK是一种强大的文本分析工具,常用于数据处理、报告生成和脚本编写,在UNIX和类UNIX系统中广泛使用...

    awk编程,使用于初学者

    ### AWK编程初学者指南 #### 一、引言 AWK编程,作为一种在Unix操作系统中广泛应用的脚本语言,自1977年由Alfred V. Aho、Peter J. Weinberger和Brian W. Kernighan三位大师共同创造以来,便以其强大的文本处理...

    Linux自动化运维课程中Awk编程语言的应用实践与解析

    内容概要:本文档旨在介绍awk编程语言的使用技巧及其在Linux系统自动化运维中的重要作用。文档详细解释了awk如何按行读取文件,以及如何通过定义特定的分隔符来提取文件中的不同字段。同时介绍了awk内置的正则表达式...

    有效的AWK编程,第三版Effective AWK Programming, 3rd Edition

    教您有关awk语言以及如何有效使用它的知识。 还介绍了awk的GNU实现gawk。

    UNIX 下AWK编程起步教程

    本教程是为初学者准备的,将带你步入AWK编程的世界,帮助你理解其基本概念和常用操作。 1. **AWK的基本原理** - AWK工作在行级别,它逐行读取输入文件,然后根据用户定义的模式(pattern)对每一行进行匹配。 - ...

    linux下的awk编程

    ### Linux下的awk编程 #### 简介 `awk`是一种强大的文本处理工具,它在Linux环境下被广泛用于数据操作任务,例如格式化数据、验证数据有效性、查找具有特定属性的项、累加数字以及打印报告等。由于这些任务经常...

    Sed与Awk (中文版)

    **awk编程的高级应用** 书中还涉及了如何开发处理索引的应用程序,以此来演示awk的强大功能。此外,还包括了如何获取不同awk版本的FTP和联系信息。 **用户提供的程序实例** 本书还包含了一系列由用户提供的程序,...

    Linux下BASH、AWK编程视频教程.zip

    本篇将围绕"Linux下BASH、AWK编程视频教程"这个主题,深入探讨这两个编程语言的基础知识及其在实际工作中的应用。 首先,BASH是Linux的默认shell,它是用户与系统进行交互的主要接口。它不仅提供了基本的命令执行...

    awk:AWK编程语言(AWK程序设计语言,awkbook)

    在标签中提到的“latex awk awkbook LaTeXTeX”,暗示了这个压缩包可能包含与AWK编程相关的LaTeX文档或教程。"awkbook"可能是《AWK程序设计语言》的LaTeX源代码,这对于学习AWK和LaTeX的人来说非常有价值,因为可以...

    高效awk编程

    awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。 ...

Global site tag (gtag.js) - Google Analytics