AWK 常见基本用法
来源:互联网 发布:如何删除数据库中的表 编辑:程序博客网 时间:2024/05/21 11:37
在Linux下进行一些简单的文本处理, 尤其是涉及数据基本过滤加工汇总的,awk 十分方便, 复杂的处理还是用python比较好。总结一下一些 awk 的常用技巧:
按列条件过滤
awk '{print $1, $3}' info.txt # 输出指定列awk '$2==1 && $5=="ERROR"' info.txt # 按条件过滤,$2是内置变量,表示第二列awk '$2>1' info.txt # 按条件过滤,如果列为数字,其大小可以作为比较条件
行号
awk '$2==1 && $5=="INFO" || NR==1' # 内置变量NR:表示行号awk '$2>2 && NR!=1 {printf "line:%u %s\n", FNR, $0}' info.txt # 内置变量FNR:表示文件行号
指定分隔符
awk -F: '{print $1,$3}' info.txt # -F 指定列分隔符,缺省是空格或tab,这里制定冒号awk -F '[:,]' '{print $1,$3}' info.txt # -F 制定多个列分隔符
格式化输出
awk '$2==0 || NR==1 {printf "%-10s %-10s\n",$1,$5}' info.txt ## printf 用法同C语言中的
字符串匹配
awk '/mode/' info.txt # 匹配含mode的行,引号可不输,类似 grep mode info.txtawk '!/mode/' info.txt # 匹配不含mode的行,类似于 grep -v 的用法awk '/mode|mode2/' info.txt # 匹配含mode或者mode2的行,正则匹配用法awk '$12 ~ /work/ {print $12}' info.txt # 第12列匹配work,指定列进行字符串匹配awk '$12 !~ /work/ {print $12}' info.txt # 第12列不匹配work,类似于 grep -v 的用法
拆分重定向
awk 'NR!=1{print > $2}' info.txt # 按照第2列进行拆分,第二列一样的内容重定向到以第二列命名的文件里
简单的统计
awk '{sum+=$2} END {print sum}' info.txt # 求第二列的和,END表示处理完毕所有行root@ubuntu:/media/psf/Home/iLearning/tmp# cat info.txtUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 2 0.0 0.0 0 0 ? S Mar13 0:01 [kthreadd]root 3 0.0 0.0 0 0 ? S Mar13 0:05 \_ [ksoftirqd/0]root 5 0.0 0.0 0 0 ? S< Mar13 0:00 \_ [kworker/0:0H]root 7 0.0 0.0 0 0 ? S Mar13 22:07 \_ [rcu_sched]root@ubuntu:/media/psf/Home/iLearning/tmp# awk '{sum+=$2} END {print sum}' info.txt 17
参考
AWK 简明教程
The GNU Awk User’s Guide
0 0
- AWK 常见基本用法
- LINUX 下 find grep sed awk 的常见基本用法
- awk常见用法
- awk常见用法总结
- awk命令常见用法
- awk基本用法(vbird)
- sed awk 基本用法
- awk基本用法
- awk基本用法
- awk基本用法
- awk基本用法简介
- awk基本用法
- linux awk 常见用法列举
- linux AWK命令基本用法
- awk基本用法及举例
- Linux AWK几种常见用法
- 【shell】awk命令及常见用法
- sed和awk的基本用法
- bzoj 1071: [SCOI2007]组队 (单调性乱搞)
- java理解程序逻辑4
- iOS 内存管理
- MySQL数据库(7)
- 苹果iOS自动扫描拍照识别身份证软件SDK
- AWK 常见基本用法
- MySQL数据库知识点1
- Java注解简介
- MySQL入门第三章3
- python爬虫系列(1)——一个简单的爬虫实例
- 【技能库】--Spring JDBC framework with JdbcTemplate class(176)
- SpringBoot+Redis集群
- android 获取apk中的素材图片
- 湖大C语言设计练习题