字符及文本处理之awk:awk常用函数

常用的内置函数

1、split

语法:split(string, array [, fieldsep [, seps ] ])

功能:将string表示的字符串以fieldsep为分隔符进行分隔,并将分隔后的结果保存至array为名的数组中;

数组下标为从1开始的序列;

[[email protected] ~]# df -h|awk ‘!/^File/ {split($5,USE,"%");print USE[1]}‘
17
0
7
7
[[email protected] ~]# df -h|awk ‘!/^File/{split($5,USE,"%");if(USE[1]>10)print $1,"USE:"USE[1]}‘ 
/dev/sda2 USE:17         #不知道什么场景中才会用到这个,


2、length

语法:length([string])

功能:返回string字符串中字符的个数;

[[email protected] ~]# awk -F: ‘/oo/{print $1,length($1)}‘ /etc/passwd
root 4
lp 2
mail 4
uucp 4
operator 8
postfix 7
[[email protected] ~]# awk -F: ‘/oo/{print $1,length}‘ /etc/passwd    
root 36       #这里表示整行的字符个数
lp 40
mail 46
uucp 47
operator 44
postfix 49


3、substr

语法:substr(string, start [, length])

功能:取string字符串中的子串,从start开始,取length个;start从1开始计数;

[[email protected] ~]# awk -F: ‘/oo/{print substr($1,1,3)}‘ /etc/passwd  #第1个和第三个字符怎么取?
roo
lp
mai
uuc
ope
pos

4

tolower(s)

功能:将s中的所有字母转为小写

toupper(s)

功能:将s中的所有字母转为大写

[[email protected] ~]# awk -F: ‘/oo/{print tolower($1)}‘ /etc/passwd             
root
lp
mail
uucp
operator
postfix

[[email protected] ~]# awk -F: ‘/oo/{print toupper($1)}‘ /etc/passwd
ROOT
LP
MAIL
UUCP
OPERATOR
POSTFIX
[[email protected] ~]#
5、
sub
gsub
时间: 2025-01-14 04:57:52

字符及文本处理之awk:awk常用函数的相关文章

linux下的文本处理命令sed&awk&grep

Sedsed 是个精简的.非交互式的编辑器.他能执行和编辑vi和emacs相同的编辑任务.sed编辑器不提供交互使用方式:只能在命令行输入编辑命令.指定文件名,然后在屏幕上察看输出.sed编辑器没有破坏性.他不会修改文件,除非用shell重定向来保存输出结果.缺省情况下,所以的输出都被打印到屏幕上.sed 编辑器在shell脚本中非常有用,因为在shell脚本中使用像vi或emacs这类交互式编辑器,需求脚本用户精通该编辑器,而且还会导致用户对打开 的 文件做出不必的修改.如果需要执行多项编辑任

awk的常用标变量和数值运算符

awk是Unix系统中的重要的支持正则表达式模式的处理文本处理工具,它即不像sed是基于一行行的处理文本数据,也不像grep一样只是匹配某一个字符串所在的行的数据,它处理文本数据是可以抓取到相应的字段的,要实现如此复杂的功能awk就有大量的内建函数.命令.变量.数组等等.awk还支持自定义变量,awk的内建变量一般用大写,而我们自定义的变量中一般全局变量第一个字母大写,局部变量全部小写,这个是我们一般的使用习惯.当然在Unix系统中awk还有衍生出其他相应的免费版本,如果你的系统是遵从FHS标准

Liunx文本处理三剑客之awk

AWK是Aho, Weinberger, Kernighan三个开发者的首字母,最早用于Unix中,后用于Liunx中称为gawk(GUN awk),是Linux中文本处理三剑客之一,它是一个报告生成器,可以格式化文本并输出.下面所说的awk即gawk,那么我们一块来看一awk常用的用法: gawk - pattern scanning and processing language 字面翻译为:模式扫描及处理语言.也可以说他是一个简单的编程语言.工作原理如下: 按行读取文本,并根据指明输入时用

文本处理三剑客之awk(报告生成器)

文本处理三剑客之awk(报告生成器) awk是一款强大的报告生成器,不同于sed和grep,它的侧重点是如何把文本信息更好的展示出来,常用与统计和格式化输出.awk相当于微型的shell,有着自己一套语法结构,例如:循环结构,数组,条件判断,函数,内置变量等功能. awk在我认为简直就是文本处理时打劫放火一大利器. 例如取出/etc/passwd中的第一列. [root@CentOS6 ~]# awk -F: '{print $1}' /etc/passwd root bin daemon ad

Linux文本处理必杀技之awk应用详解

AWK是一个优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一.这种编程及数据操作语言(其名称得自于它的创始人阿尔佛雷德·艾侯.彼得·温伯格和布莱恩·柯林汉姓氏的首个字母)的最大功能取决于一个人所拥有的知识.awk经过改进生成的新的版本nawk,gawk,现在默认linux系统下日常使用的是gawk,用命令可以查看正在应用的awk的来源(ls -l /bin/awk) awk是一款强大的报告日志生成处理工具,不同于sed和grep,它的侧重点是如何把文本信息更好的展

文本处理三剑客之AWK

AWK的基本格式:    awk [options] 'program' file-          注释:     program->pattern{action statements;..}    pattern和action:    pattern部分决定动作语句何时触发及触发事件 (BEGIN,END)    action statements对数据进行处理,放在{}内指明 (print, printf) awk工作原理: 第一步:执行BEGIN{action;- }语句块中的语句 第

漫漫运维路——文本处理三剑客之awk基础

awk即gawk,是一款在Linux中实现文本格式化输出的文本处理工具,在Linux中与文本过滤工具grep和文本行编辑器sed共同组成Linux中的文本处理三剑客. awk在处理文本时以行为单位,读入整行数据后以指定的分隔符对行进行切片,然后再针对切片后的数据进行处理.如下图所示: 文本经过指定的分隔符进行切片后再对每一片进行处理,然后在根据设定的动作对处理后的文本执行动作,而切片后的文本如果只想引用一部分也可以使用变量进行引用,其引用的各个变量如下表所示: 变量 指代 $0.$N 当前处理行

AWK增强的文本处理shell特征--AWK完全手册

AWK这是一个很好的文字处理工具. 它不仅 Linux 中也是不论什么环境中现有的功能最强大的数据处理引擎之中的一个. 本文主要摘录池中龙写的Unixawk使用手冊(第二版),对当中内容略微修改.感谢作者的分享. 目 录 1 0作者的话 2 1awk的调用方式 3 2awk的语法 4 3awk的记录.字段与内置变量 5 4awk的内置函数 5 5在命令行使用awk 6 6awk的变量 7 7运算与推断 7 8awk的流程控制 8 8.1BEGIN和END: 8 8.2流程控制语句 9 8.2.1

Linux文本处理三剑客之awk(一)

  AWK是一个优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一.其名称得自于它的创始人阿尔佛雷德·艾侯.彼得·温伯格和布莱恩·柯林汉姓氏的首个字母.awk经过改进生成的新的版本nawk,gawk,现在默认linux系统下日常使用的是gawk.灵活的应用awk能够让我们的日常运维工作效率得到很大的提高. 一.基本用法: awk [options] 'program' var=value file- awk [options] -f programfile var=