AWK的使用

作者: 黑夜no烟丝 | 来源:发表于2019-01-21 14:21 被阅读2次

AWK
语法: awk -F/f/v/ + ‘pattern’ +文件全路径
或者:标准输出|awk -F/f/v/ + ‘pattern’

参数含义: -F 指定域的分隔符,如默冒号“:”
写法有三个
1.awk -F: ‘pattern’ 文件全路径
2.awk -F “:” ‘pattern’ 文件全路径
3.awk -F’[:,\t]’ ‘pattern’ 文件全路径 #这里用单引号+中括号,表示分隔字符的集合,集合中的每一个符号都会被用作分隔符去分隔当前行

-f 指定从awk文件中执行awk指令
awk是一门语言,它有自己的语法,如果在考虑复用已经awk语句比较复杂的情况下,建议将其写入文件。文件尾建议定为.awk的后缀。

在awk脚本文件的第一行,写入命令解释器的位置,所以这里要写入awk解释器的路劲

! 起提示作用,后接解释器路径

终端执行 which awk 命令得到位置
一般为 /usr/bin/awk
于是,文件开头写为 #!/usr/bin/awk -f
然后就在下一行写你的awk语句,保存退出。
这么执行 awk -f script.awk file

-v 自定义变量

awk -v var="name" 'BEGIN{print var}'

感觉没什么用,如果要定义变量,不如直接定义在BEGIN里面

awk -F: ‘BEGIN{var=”name”}{print var}END{print “balabalaba”}’ file

awk 可以使用条件判断、for、do-while等控制语句
语法都和C语言近似,如有需要请看这里
https://www.cnblogs.com/chengmo/archive/2010/10/04/1842073.html

awk 的print 语句支持格式控制,和C类似 ,
语法为: print “balabal %-6s balabala %d\n”,name,age
%s,控制字符串类型输出
%d,控制整形类型输出
%f,控制浮点型
%%,转义为%号

awk存在数组数据类型
数组也和变量一样,初始化语句也同时是声明语句,arr[110]=”aaa”,arr[nihao] = 123,
可以看出来,awk的数组其实并不是正真意义上的数组,更像一个字典
awk内置变量
(一)FS:字段分隔符(field separator) #设置域分隔字符,是用某个字符的替换之前的内容
(二)OFS:输出的字段分隔符(output field separator)#替换FS的内容
(三)RS:记录分隔符(record separator) #设置换行符,使某个字符后面的内容换到下一行
(四)ORS:输出的记录分隔符(output record separator)#将换行符替换成ORS的内容
(五)NF:字段数量(number of field)
这里 NF可以取到倒数第一个域的值(NF-1)可以取到倒数第二个域的值

(六)NR:记录编号(number of record)#行号
(七)FNR:按文件计算“记录编号”(file (1)FNR 表示当前行在不同输入流中处于第几行 #用同一个AWk处理多个文件时,正确显示改行在文件中的行号
(八)FILENAME:文件名

用文件执行就会附带参数 ./script.awk para1 para2

(九)ARGC:参数个数(arguments account)
(十)ARGV:参数列表数组(arguments variable)

相关文章

  • shell首字母转换为大写

    使用tr 使用awk

  • awk 命令使用方法

    1. awk 擅长功能 awk 擅长对列进行操作/进行数据信息的统计(数组) awk 基本使用(高级使用-shel...

  • awk gsub使用

    参考文章 awk当中使用外部变量 gsub当中使用外部变量 1.awk命令使用双引号的情况下 此时在awk命令里面...

  • 过滤sam文件,留下唯一比对reads

    使用awk

  • awk命令的使用

    awk命令的使用 awk命令格式awk '条件1{动作1} 条件2{动作2}…' 文件名 在介绍awk命令的用法前...

  • 关于awk(简单用法)

    关于awk 使用方法awk'{pattern + action}'{filenames} pattern 表示 A...

  • awk & sed

    awk 常见使用教程 awk 使用的时候有两个要求就是脚本必须放到{}中,由于awk命令假定脚本是单个文本字符串,...

  • awk巩固扩展

    awk 中使用外部shell变量 选项-v可以实现使用外部变量。 如:A=44echo "ABCD" | awk ...

  • Linux命令之awk

    awk中使用shell命令awk '{cmd="rm "$0;system(cmd)}' filename.txt...

  • awk的使用

    awk是linux/unix一种适用于文本文件处理的工具。gawk是awk的GNU版本,它提供了Bell实验室和G...

网友评论

    本文标题:AWK的使用

    本文链接:https://www.haomeiwen.com/subject/pmjcjqtx.html