awk基础入门
来源:互联网 发布:雕刻机画图软件 编辑:程序博客网 时间:2024/06/01 07:26
awk基础入门
概述
awk是Linux上一款功能比较强大的文本分析处理工具,相对于grep的查找,sed的编辑,awk支持对文本进行分析、处理之后,生成处理结果或者报告,awk本身就支持一套类似于Shell Script的脚本,更加强化了awk的分析功能。
awk指定分隔符简单提取数据
默认情况下,awk将输入逐行读取,以空格为默认分隔符,将每行的关键文本隔离成多个域,使用’$’ + 数字的形式(\$1、\$2),可以将各个域分别取出(\$0代表整行文本)。
对于多数情况,以默认的分隔符提取已经够用了,查看进程信息、查看文件信息之类的,只需要关注某几列,使用awk可以轻松提取出来。也有一些文件,以其他的符号作为分隔符,比如/etc/passwd之类的,以’:’未分隔符。下面我以2个实例来说明如何使用awk指定分隔符提取数据。
实例1: 提取”ps aux”结果中,USER列、PID列及MEM列
直接使用ps aux时,得到的结果是这样的:
[Morris@chroot-64:~]$ ps auxUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.0 0.0 8356 740 ? Ss Aug15 0:05 init [2] root 2 0.0 0.0 0 0 ? S Aug15 0:00 [kthreadd]root 3 0.0 0.0 0 0 ? S Aug15 0:00 [migration/0]root 4 0.0 0.0 0 0 ? S Aug15 0:14 [ksoftirqd/0]root 5 0.0 0.0 0 0 ? S Aug15 0:00 [watchdog/0]root 6 0.0 0.0 0 0 ? S Aug15 0:00 [migration/1]root 7 0.0 0.0 0 0 ? S Aug15 0:03 [ksoftirqd/1]root 8 0.0 0.0 0 0 ? S Aug15 0:00 [watchdog/1]root 9 0.0 0.0 0 0 ? S Aug15 0:00 [migration/2]... ... 未完
可能会包含很多我们不关心的内容,使用grep只能将提取某几行,而无法去除我们不关心的数据。这时可以用awk,直接提取1/2/4列,用法是这样的:
[Morris@chroot-64:~]$ ps aux | awk -F " " '{ print $1" "$2" "$4 }'USER PID %MEMroot 1 0.0root 2 0.0root 3 0.0root 4 0.0root 5 0.0root 6 0.0
可以看到,结果中就只剩我们想了解的信息了。$1/$2/$4之间使用” “,空格隔开。
实例2: 查看/etc/passwd中,第1、2列数据
[shaoyong@chroot-64:~]$ awk -F ":" '{ print $1" "$2 }' /etc/passwdroot xdaemon xbin xsys xsync xgames xman xlp x
有了以上的实例,其他的情况使用方式也大同小异,多试试就知道怎么用了。
阅读全文
0 0
- awk基础入门
- GAWK 入门:AWK 语言基础
- GAWK 入门:AWK 语言基础
- GAWK 入门:AWK 语言基础
- GAWK 入门:AWK 语言基础
- [转]Awk基础入门:Awk实例编程之一
- [转]Awk基础入门之二:读书笔记-awk运用
- [转]Awk基础入门之三:shell & awk 变量传递
- awk入门
- awk入门
- awk入门
- awk入门
- AWK 入门
- awk基础
- awk基础
- awk基础
- awk基础
- awk基础
- Vivado调用UEStudio
- 火狐中event事件报错 event is not defined
- 【物联网安全】物联网安全层次模型
- ZOJ
- 复杂链表的复制
- awk基础入门
- Node.js的Buffer那些你可能不知道的用法
- 青鸟教育系统-教室管理jsp页面
- 2017-8-29工作记录
- 悲剧,闹剧
- css伪类选择器,:link、:visited、:focus、:hover、:active、:first-child
- 使用gpu加速theano
- 浅析 Netty心跳机制
- 青鸟教育系统-教室管理js页面