`
thecloud
  • 浏览: 877915 次
文章分类
社区版块
存档分类
最新评论

Linux文本处理—awk gawk命令的使用

 
阅读更多

AWK 是一种文本处理和模式匹配语言,所以它通常称为数据驱动的语言,程序语句描述需要进行匹配和处理的输入数据,而不是程序操作步骤的序列,在许多语言中都是这样的。AWK 程序在其输入数据中搜索包含模式的记录、对该记录执行指定的操作,直到程序到达输入的末尾。AWK 程序擅长于处理数据库和表型数据,如从多个数据集中提取一些列、建立报表或分析数据。事实上,AWK 适合于编写短小的、一次性程序,以执行一些灵活的文本处理,而使用其他的语言则可能成本较高。另外,作为一种功能强大的工具,AWK 常常在命令行中使用或与管道一起使用。

GAWK 的特性和优点

GAWK 具有下列独特的特性和优点:

  1. 在所有主要的 UNIX 平台以及其他操作系统中都可以使用它,包括 Mac OS X 和 Microsoft® Windows®。
  2. 它是可移植操作系统接口 (POSIX) 兼容的,并且包含 1992 POSIX 标准中的所有特性。
  3. 它没有预定义的内存限制。
  4. 可以使用一些新的内置函数和变量。
  5. 它包含一些特殊的regexp操作符。
  6. 记录分隔符中可以包含regexp操作符。
  7. 可以使用特殊文件支持来访问标准的 UNIX 流。
  8. 可以使用 Lint 检查。
  9. 在缺省情况下,它使用扩展的正则表达式。
  10. 它支持无限制的行长度和连续使用反斜杠字符 (/)。
  11. 它具有更好的、更具描述性的错误消息。
  12. 它包含一些 TCP/IP 网络函数。

GAWK 是 GNU Project 的 AWK 解释器的开放源代码实现。尽管早期的 GAWK 发行版是旧的 AWK 的替代程序,但不断地对其进行了更新,以包含 NAWK 的特性。

GAWK的主要功能就是处理文本文件的数据,自动将变量分配给每行的每个数据元素实现这一功能。

$0 表示整行

$1 表示第一个数据字段

·

·

$n 表示第n个数据字段

gawk ‘{print $1}’ data

如果正在读取使用其他分隔符的文本,则使用选项-F

gawk -F:‘{print $1}’ /etc/passwd

从文件中读取程序:

首先将处理的命令写入文本文件script

{print $5 “’s user id is ”$1}

然后使用命令gawk –F: –f script /etc/passwd

分享到:
评论

相关推荐

    Linux下 gawk 高效文本处理编程

    欢迎大家使用gawk,本人也喜欢Linux 喜欢OpenSource

    linux匹配命令awk、grep、sed简介

    awk本身就是UNIX/Linux的一种编程语言,用于处理数据和生成报告。 awk逐行方式扫描文件(或输入),以查找匹配某个特定模式的文本行,并对这些文本行执行指定动作。 awk是三个创始人的首字母,代表三个作者:Alfred ...

    一天一个shell命令 linux文本内容操作系列-awk命令详解

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

    Awk学习笔记和指南

    awk 是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义函数和 动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。...

    gawk官方手册

    AWK是一种优良的文本处理工具。它不仅是 Linux 中也是任何环境中现有的功能最强大的数据处理引擎之一。这种编程及数据操作语言(其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首...

    gawk-4.1.0.tar.gz

    gawk-4.1.0.tar.gz awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。

    awk学习笔记

    awk 是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义函数和 动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。...

    AWK教程文档

    awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它...

    高效awk编程

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

    Awk学习笔记

    awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户 自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它...

    sed and awk 101 hacks.pdf (中文版带书签)

    awk的处理文本和数据的方式是这样的,它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作。 如果没有指定处理动作,则把匹配的行显示到标准输出(屏幕),如果没有指定模式,...

    awesome-awk:精选的 AWK 框架、库、软件和资源列表

    awk 脚本指南通过两个简单的教程提高您的 awk 技能 文档Gawk:有效的 AWK 编程Gawkinet:与 Gawk 的 TCP/IP 互联手册页: mawk , gawk 图书有效的 awk 编程:通用文本处理和模式匹配sed 和 awk AWK 编程语言AWK ...

    gawk-4.0.1.tar.xz

    awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义 函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具

    帮助你排序文本文件的 Awk 命令行或脚本(推荐)

    Awk 是个普遍存在的 Unix 命令,用于扫描和处理包含可预测模式的文本。但是,由于它具有函数功能,因此也可以合理地称之为编程语言。 令人困惑的是,有不止一个 awk。(或者,如果你认为只有一个,那么其它几个就是...

    gawk-3.1.6.1-1-setup

    AWK是一种优良的文本处理工具。它不仅是 Linux 中也是任何环境中现有的功能最强大的数据处理引擎之一。这种编程及数据操作语言(其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首...

    RED HAT LINUX 6大全

    4.8 使用Red Hat的wmconfig命令 54 4.9 个人化的X资源文件 54 4.10 使用xdm 55 4.11 XFree86疑难解答 57 4.12 小结 57 第5章 窗口管理器 58 5.1 GNOME X环境 59 5.1.1 什么是GNOME 59 5.1.2 GNOME 安装组件 59 5.1.3...

Global site tag (gtag.js) - Google Analytics