Linux命令:文本处理工具awk详解一

awk命令简介:

awk是一个强大的文本分析工具,通常,awk是以文件的每一行,为处理单位的。awk每接收文件的一行,然后执行相应的命令,来处理文本。

 1.命令格式:

awk ‘pattern {action}‘{filenames}

其中 pattern 表示 AWK 在数据中查找的内容,而 action 是在找到匹配内容时所

执行的一系列命令。花括号({})不需要在程序中始终出现,但它们用于根据特定的

模式对一系列指令进行分组。 pattern就是要表示的正则表达式,用斜杠括起来。

调用awk有几种方式:

命令行方式:

awk  [-Ffield-separator] ‘commands‘ input-file(s)

其中,commands 是awk的处理命令,-F 表示区域分隔符是可选项。input-file(s)

是需要处理的文本文件。在awk中,文件的每一行中,由区域分隔符分开的每一项称为

一个区域。通常,在不指定-F区域分隔符的情况下,默认的区域分隔符是空格。

shell脚本方式:

将所有的awk命令插入一个文件,并使用awk程序可执行,然后awk命令解释器作为

脚本的首行,以便通过键入脚本名称来调用。相当于shell脚本首行的:#!/bin/bash可以

换成:#!/bin/awk3.将所有的awk命令插入一个单独文件,然后调用:

awk -fawk-script-file input-file(s) 其中,-f选项:加载awk-script-file中的awk脚本,

input-file(s):是需要处理的文本文件.

2.命令功能:

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

3.命令参数:

·        -F fs or --field-separator fs
指定输入文件折分隔符,fs是一个字符串或者是一个正则表达式,如-F:。

·        -v var=value or --asign var=value
赋值一个用户定义变量。

·        -f scripfile or --file scriptfile
从脚本文件中读取awk命令。

·        -mf nnn and -mr nnn
对nnn值设置内在限制,-mf选项限制分配给nnn的最大块数目;-mr选项限制记录的最大数目。这两个功能是Bell实验室版awk的扩展功能,在标准awk中不适用。

·        -W compact or --compat, -W traditional or --traditional
在兼容模式下运行awk。所以gawk的行为和标准的awk完全一样,所有的awk扩展都被忽略。

·        -W copyleft or --copyleft, -W copyright or --copyright
打印简短的版权信息。

·        -W help or --help, -W usage or --usage
打印全部awk选项和每个选项的简短说明。

·        -W lint or --lint
打印不能向传统unix平台移植的结构的警告。

·        -W lint-old or --lint-old
打印关于不能向传统unix平台移植的结构的警告。

·        -W posix
打开兼容模式。但有以下限制,不识别:/x、函数关键字、func、换码序列以及当fs是一个空格时,将新行作为一个域分隔符;操作符**和**=不能代替^和^=;fflush无效。

·        -W re-interval or --re-inerval
允许间隔正则表达式的使用,参考(grep中的Posix字符类),如括号表达式[[:alpha:]]。

·        -W source program-text or --source program-text
使用program-text作为源代码,可与-f命令混用。

·        -W version or --version
打印bug报告信息的版本。

时间: 2024-08-01 10:34:01

Linux命令:文本处理工具awk详解一的相关文章

Linux上文本三剑客之awk详解

AWK介绍 Linux 文本处理工具三剑客:grep.sed.awk.其中grep是一种文本过滤工具:sed是文本行编辑器,而awk是一种报表生成器,就是对文件进行格式化处理的,但这里的格式化不是文件系统的格式化,而是对文件内容进行各种"排版",进而格式化显示:在Linux之上我们使用的是GNU awk 简称gawk,并且gawk就是awk的链接文件,因此系统上使用的awk和gawk是一样的.gawk是一种过程式编程语言.gawk还支持条件判断.数组.循环等编程语言中所有可以使用的功能

linux之文本处理工具awk

文本处理工具awk用法(介绍在最后) awk -v FS=: '{print $1,FS,$3}' /etc/passwd {FS}可省略 awk -v FS=: -v OFS=^^^ '{print $1,$3}' /etc/passwd awk -F: -v OFS=^^^ '{print $1,$3}' /etc/passwd awk -F: '{print $1,$NF}' /etc/passwd ls /media/cdrom/Packages/ | awk -F"." '{

linux命令ps aux | grep xxx详解

要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程, 而ps命令(Process Status)就是最基本同时也是非常强大的进程查看命令. 使用该命令可以确定有哪些进程正在运行和运行的状态.进程是否结束.进程有没有僵尸.哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的. ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的. 如果想对进程时间监控,应该用 top 工具. 如果直接用ps命令,会显示所有进程的状态,通常结合grep

Linux下暴力破解工具Hydra详解

一.简介 Number one of the biggest security holes are passwords, as every password security study shows. Hydra is a parallized login cracker which supports numerous protocols to attack. New modules are easy to add, beside that, it is flexible and very fa

linux下抓包工具tcpdump详解

本文转自:http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html 简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析.它支持针对网络层.协议.主机.网络或端口的过滤,并提供and.or.not等逻辑语句来帮助你去掉无用的信息. 实用命令实例 默认启动

转:Linux下暴力破解工具Hydra详解

一.简介 Number one of the biggest security holes are passwords, as every password security study shows. Hydra is a parallized login cracker which supports numerous protocols to attack. New modules are easy to add, beside that, it is flexible and very fa

linux基础--包管理工具yum详解

rpm常用命令 安装 -ivh:安装rpm包 --nodeps:忽略依赖关系强制安装 --replacepkg:无论软件包是否已被安装,都强行安装软件包 卸载 -e:卸载rpm包 --nodeps:忽略依赖关系强制卸载 升级 -Uvh:升级软件包--Update -Fvh:只有安装在系统上的包才会升级 --nodeps:忽略依赖关系升级 查询 -q:查看安装包名称 -qa:查看是否安装指定rpm包 -qf:查找指定文件属于哪个RPM软件包 -qi:查看安装包的详细信息 -qc:查看安装包的配置文

linux命令学习笔记:cut详解

cut命令从文件的每一行剪切字节.字符和字段并将它们写至标准输出.它是以文件的每一行作为处理对象的. 命令格式:cut [选项] [范围] 文件.选项用来指定单位(字节.字符还是字段),范围指定选项的位置. 常用的选项有: -b:指定以字节为单位显示选中内容 -c:指定以字符为单位显示选中内容 -f:指定以字段为单位显示选中内容 -d:指定字段的分界符,默认为制表符 其它的选项还有-n(仅和-b选项一起使用).-s(仅和-f选项一起使用) 范围表示: n:第n个字节/字符/字段 n-:从第n个字

linux 命令ls man手册的详解

ls    -l:长格式        文件类型:            -:普通文件 (f)            d: 目录文件            b: 块设备文件 (block)            c: 字符设备文件 (character)            l: 符号链接文件(symbolic link file)            p: 命令管道文件(pipe)            s: 套接字文件(socket)        文件权限:9位,每3位一组,每一组:r