×

linux中awk的用法 awk

linux中awk的用法(linux里awk是做什么的,请详细说明)

admin admin 发表于2024-02-12 13:55:15 浏览33 评论0

抢沙发发表评论

这篇文章给大家聊聊关于linux中awk的用法,以及linux里awk是做什么的,请详细说明对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

本文目录

linux里awk是做什么的,请详细说明

awk是一个强大的文本分析工具,相对于grep的查找,sed的,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有三个不同的版本:awk、nawk和gawk,未作特别说明,一般指gawk,gawk是awk的GNU版本。之所以叫awk是因为其取了三位创始人Alfred Aho,Peter Weinberger,和Brian Kernighan的Family Name 的首字符。使用方法:awk’{pattern+action}’{filenames}尽管操作可能会很复杂,但语法总是这样,其中pattern表示awk在数据中查找的内容,而action是在找到匹配内容时所执行的一系列命令。花括号({})不需要在程序中始终出现,但它们用于根据特定的模式对一系列指令进行分组。pattern就是要表示的正则表达式,用斜杠括起来。awk语言的最基本功能是在文件或者字符串中基于指定规则浏览和抽取信息,awk抽取信息后,才能进行其他文本操作。完整的awk脚本通常用来格式化文本文件中的信息。通常,awk是以文件的一行为处理单位的。awk每接收文件的一行,然后执行相应的命令,来处理文本。调用awk的三种方式1、命令行方式awk’commands’input-file(s)其中,commands是真正awk命令,是可选的。input-file(s)是待处理的文件。在awk中,文件的每一行中,由域分隔符分开的每一项称为一个域。通常,在不指名-F域分隔符的情况下,默认的域分隔符是空格。2、shell脚本方式将所有的awk命令插入一个文件,并使awk程序可执行,然后awk命令解释器作为脚本的首行,一遍通过键入脚本名称来调用。相当于shell脚本首行的:#!/bin/sh可以换成:#!/bin/awk3、将所有的awk命令插入一个单独文件,然后调用:awk-f awk-script-file input-file(s)其中,-f选项加载awk-script-file中的awk脚本,input-file(s)跟上面的是一样的。

linux awk命令怎么用

awk命令是Alfred Aho, Peter Weinberger, Brian Kernighan三位作者联合开发的,用于Linux/Unix中处理数据和产生报告。awk命令功能十分强大,可根据需要抓取、截取指定的列或行。首先在/mnt目录下创建示例文本文件f1,其内容如下:1 hello hello2 data data3 xyz abc4 123 7895 ftp6 Apache7 apache然后,使用awk对f1文件内容进行处理,举例如下。①awk -F " " ’{print $2,$3}’ f1:截取显示文档的第二列和第三列,-F指定分隔符为空格,$表示显示第几列。其中print表示要做输出信息的动作,$2和$3表示要输出的列号,awk要求将print已经输出列等内容放在“’{}’”之间。②awk -F " " ’($1》3){print $2,$3}’ f1:选取第一列的值大于3的行,显示其第二列和第三列,在“()”中指定筛选条件。③awk ’NR==4 || NR==3’ f1:显示第三行和第四行,NR表示行号。④awk ’/data/ {print $2}’ f1:抓取包含指定字符的行,再对列进行截取。此例中,awk先按照“data”字符串对文件f1中的行筛选,找出包含“data”的行以后,再按照默认的空格作为分隔符对行的内容做切割,仅打印出第二列的内容。⑤awk ’$2 ~ /data/ ’ f1:抓取第二列包含指定字符的行。其中“~”表示是否匹配指定的“data”,如果第二列的内容包含“data”就打印出整行内容。⑥awk ’$2 !~ /data/ ’ f1:抓取第二列不包含指定字符的行。其中“!~”表示是否不匹配指定的“data”,如果第二列的内容不包含“data”就打印出整行内容。

如何在Linux中使用awk命令

awk:用于一行中分成数个“字段”来处理。适合处理小型数据。运行模式:awk’条件类型1{动作1}条件类型2{动作2}...’filename#last|awk’{print$1"\t"$3}’《==查看登录者的数据,只显示登录名和ip地址,并以隔开awk的内置变量变量名称代表的含义NF每一行($0)拥有的字段总数NR当前awk所处理的是“第几行”数据FS当前分隔符,默认空格键awk的逻辑运算符运算单元代表含义》大于《小于》=大于或等于《=小于或等于==等于!=不等于范例:cat/etc/passwd|awk’{FS=":"}$3《10{print$1"\t"$3}’《==文件/etc/passwd是以":"分隔的,查看第三栏小于10的数据,并且只显示帐号与第三栏以上是我对awk的总结,希望对你有帮助,是我写的哦,不是复制的。

以上就是我们为大家找到的有关“linux中awk的用法(linux里awk是做什么的,请详细说明)”的所有内容了,希望可以帮助到你。如果对我们网站的其他内容感兴趣请持续关注本站。