文档章节

awk使用方法

luckwsm
 luckwsm
发布于 2016/12/12 19:48
字数 651
阅读 3
收藏 0

     用于在linux/unix下对文本和linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk的处理文本和数据的方式是这样的,它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作。如果没有指定处理动作,则把匹配的行显示到标准输出(屏幕),如果没有指定模式,则所有被操作所指定的行都被处理。

语法:

awk '{pattern + action}' {filenames}

常用的选项有:

  • -F fs   fs指定输入分隔符,默认为空格,如-F ‘:’
  • -v var=value 赋值一个用户定义变量,将外部变量传递给awk

awk内置变量:

  • $n 当前记录的第n个字段,比如n为1表示第一个字段,n为2表示第二个字段。
  • $0 这个变量包含执行过程中当前行的文本内容。  
  • FILENAME 当前输入文件的名。
  • FS 字段分隔符(默认是任何空格)。
  • NF 表示字段数,在执行过程中对应于当前的字段数。
  • NR 表示记录数,在执行过程中对应于当前的行号。
  • OFMT 数字的输出格式(默认值是%.6g)。
  • OFS 输出字段分隔符(默认值是一个空格)。
  • ORS 输出记录分隔符(默认值是一个换行符)。
  • RS 记录分隔符(默认是一个换行符)。

示例:

以ll命令为输入值,如下图所示

[root@app_new luffy]# ll
total 570200
drwxr-xr-x. 2 root root     4096 Dec  1 07:20 conf
-rw-r--r--. 1 root root     1619 Dec  9 05:58 filebeat_app.yml
-rw-r--r--. 1 root root     1138 Dec  9 05:59 filebeat_game.yml
-rw-r--r--. 1 root root      283 Dec  9 07:49 gamecenter_any.yaml
-rw-r--r--. 1 root root      205 Dec  9 07:50 gamecenterlog.pattern
-rw-r--r--. 1 root root 25416664 Dec  9 11:25 HITV_AppStoreApi-5.3.1-2.x86_64.rpm
-rw-r--r--. 1 root root 50561808 Dec  5 13:18 HITV_GameCenter-2.7.1-2.x86_64.rpm
-rw-r--r--. 1 root root 50561964 Dec  6 01:31 HITV_GameCenter-2.7.1-3.x86_64.rpm
-rw-r--r--. 1 root root 50562716 Dec 12 07:46 HITV_GameCenter-2.7.1-4.x86_64.rpm
-rw-r--r--. 1 root root 13194608 Dec  5 12:48 HITV_GCCListener-2.7.1-2.x86_64.rpm
-rw-r--r--. 1 root root 13194960 Dec  9 11:12 HITV_GCCListener-2.7.1-3.x86_64.rpm

提取文件的大小:

[root@app_new luffy]# ll |awk '{print$5}'

4096
1619
1138
283
205
25416664
50561808
50561964
50562716
13194608
13194960

若想看文件名及文件大小:

[root@app_new luffy]# ll |awk '{print $9 "\t" $5}'
conf    4096
filebeat_app.yml        1619
filebeat_game.yml       1138
gamecenter_any.yaml     283
gamecenterlog.pattern   205
HITV_AppStoreApi-5.3.1-2.x86_64.rpm     25416664
HITV_GameCenter-2.7.1-2.x86_64.rpm      50561808
HITV_GameCenter-2.7.1-3.x86_64.rpm      50561964
HITV_GameCenter-2.7.1-4.x86_64.rpm      50562716
HITV_GCCListener-2.7.1-2.x86_64.rpm     13194608
HITV_GCCListener-2.7.1-3.x86_64.rpm     13194960

 

© 著作权归作者所有

共有 人打赏支持
上一篇: shell学习记录
下一篇: log4j 使用简记
luckwsm
粉丝 0
博文 18
码字总数 4951
作品 0
青岛
程序员
私信 提问
linux基础--awk文本分析工具详解

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

亮公子
2016/12/26
0
0
正则表达式、sed、awk相关资料笔记资料整合

正则表达式元字符: ^ #锚定行的开始。如:/^sed/ 匹配所有以sed开头的行。 $ #锚定行的结束。如:/sed$/ 匹配所有以sed结尾的行。 . #匹配一个非换行字符。 如:/s..d/ 匹配s后接任意两个个...

贵在坚持
2014/09/23
0
0
正则表达式中awk使用方法

awk 命令的基本格式 awk [options] 'program' file options 这个表示一些可选的参数选项,反正就是你爱用不用,不用可以拉到。。。 program 这个表示 awk 的可执行脚本代码,这个是必须要有的...

不知者该死
2017/05/17
0
0
使用shell脚本获取流量信息

  前言   使用shell命令从/proc/net/dev获取流量信息进行监控。      脚本   #!/bin/bash   interface=$1   warnrxlimit=$2   warntxlimit=$3   criticalrxlimit=$4   c...

linux运维菜
07/18
0
0
awk sed grep 正则表达式

做事要有耐心。 虚心接受建议,你确实有很多缺点。 就算进步慢,也不可以停止前进的脚步。 AWK awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,...

wy125629
2017/09/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ConcurrentHashMap源码解析

初始化 先看看ConcurrentHashMap中几个重要的属性: // 初始化容量大小static final int DEFAULT_INITIAL_CAPACITY = 16;//默认负载因子static final float DEFAULT_LOAD_FACTOR = 0.75f...

grace_233
10分钟前
0
0
java对象的浅拷贝和深拷贝

浅拷贝 java的数据类型有基本数据类型(如:int、long等)和引用数据类型。例如:对象1中有属性a(基本数据类型)和属性b(引用数据类型),在进行浅拷贝到对象2时,属性a复制属性的值给对象...

yangyangyyyy
10分钟前
0
0
SQLServer AlwaysOn在阿里云的前世今生

缘起 早在2015年的时候,随着阿里云业务突飞猛进的发展,SQLServer业务也积累了大批忠实客户,其中一些体量较大的客户在类似大促的业务高峰时RDS的单机规格(规格是按照 内存CPUIOPS 一定比例...

阿里云云栖社区
11分钟前
0
0
ubuntu16.04 LNMP搭建 php7.1

sudo apt-get update sudo apt-get install mysql-server mysql-client sudo apt-add-repository ppa:ondrej/php sudo apt-get update sudo apt-get install php7.1 php7.1-fpm php7.1-cgi p......

一千零一夜个为什么
17分钟前
0
0
阿里云高级技术专家带你全面了解云主机性能评测

钱超,花名西邪,阿里云高级技术专家,超12年老阿里,是云主机性能领域的知名专家。 在目前的云计算测评领域,很多性能测评存在营销的包装,容易引起误导:比如用瞬时性能引导读者得出结论,...

阿里云官方博客
25分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部