Linux常用命令awk
awk能够处理类似csv这种按行格式的数据,对每一行record按照-F指定的分隔符切割,然后处理。默认支持空格和\t分隔符
1、统计文件里某一列数据等于某个值的个数
cat djt10.log | awk -F ',' 'BEGIN{count=0;f=0} {if($1 == 1){count = count+1} else{f = f+1}} END{print count,f, count/f}' > -0_djt10.txt
2、拼接$1参数指定文件夹下的文件到一个大文件
for((i=; i<;i++)) do
cd 10.52..$i
pwd
cat ./$/find_prog.log >> ../djt$.log
cd ..
#pwd
done
3、awk打印行号和整行信息
awk '{print NR, $0}'
4、awk匹配字符串
#如果第一列等于字符串4.0K,则打印这一行,~前后不要有空格,跟shell变量赋值一样
awk 'if($1~/4.0K/){print $0}' #判断字符串是否等于"null"
cat url.txt | awk '{if($1 != "null"){print $1}}' > urls.txt
#判断字符串是否等于"-1"
cat 2017-10-19-validated.txt |awk -F ',' '{if($14~/"-1"/){print $0}}'
5、循环——对输出结果排序,中间间隔了的则打印空行
cat 234420train.log|awk '{if($1==1){print $6}}'|sort -n|uniq| awk 'BEGIN{i=1}{if(i==$1){print i;i=i+1}else{while(i<$1){print ""; i=i+1} print $1;i=i+1}}'

6、awk把制表符换成逗号
cat tmp.txt | awk '{printf"[%s,%s]\n", $1, $2}'
[hadoop@master scala]$ tail tmp.txt
101 118.5
102 126
103 127.5
104 120
105 119.5
106 134.5
107 130.5
108 139.5
109 133.5
110 138
[hadoop@master scala]$ cat tmp.txt | awk '{printf"[%s,%s]\n", $1, $2}'|tail
[101,118.5]
[102,126]
[103,127.5]
[104,120]
[105,119.5]
[106,134.5]
[107,130.5]
[108,139.5]
[109,133.5]
[110,138]
7、awk里用system()执行命令
cat musics.txt | awk -F '*' '{cmd="wget "$2" -O "$1".mp3";system(cmd)}'
8、awk打印时以\t分割
cat 10daysGap4.txt |awk '{print $6,$7}' OFS="\t" > sampling-recall.xls
9、删除文件的第一列,后面全部按\t打印
cat top571-5min-sorteddomain.ts |awk '{for(i=2; i < NF+1; i++){printf("%s\t", $i)}printf("\n")}'
10、
Linux常用命令awk的更多相关文章
- linux常用命令 awk命令
awk命令 awk [选项] '条件1{动作1} 条件2{动作2}...' 文件名 条件(Pattern) *) 一般使用关系表达式作为条件 *) x>10 判断变量x是否大于10 *) x&g ...
- linux 常用命令大全
linux 常用命令大全 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统 ...
- linux 常用命令及技巧
linux 常用命令及技巧 linux 常用命令及技巧:linux 常用命令总结: 一. 通用命令: 1. date :print or set the system date and time 2. ...
- 最近用到的Linux常用命令总结
最近用到的Linux常用命令总结 - ls :显示当前目录文件信息 `ls -a -l` - cd :目录跳转 cd .. 上级目录 cd ~ home目录 cd - 最近目录 - cat :在屏幕上 ...
- Linux 常用命令使用方法大搜刮
Linux 常用命令使用方法大搜刮 1.# 表示权限用户(如:root),$ 表示普通用户 开机提示:Login:输入用户名 password:输入口令 用户是系统注册用户成功登陆后,可以进入 ...
- linux常用命令 、查看日志、web排查
linux常用命令 ps aux|grep xxx (比如 ps aux|grep tomcat ps aux|grep tomcat-portalvip ps aux|grep nginx 等) r ...
- 100个命令Linux常用命令大全
Linux常用命令大全100条: 1,echo "aa" > test.txt 和 echo "bb" >> test.txt//>将原 ...
- Linux常用命令大全(非常全!!!)
Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短 ...
- 【转载】Linux常用命令
Linux常用命令大全(非常全!!!) 转载出处:https://www.cnblogs.com/yjd_hycf_space/p/7730690.html 系统信息 arch 显示机器的处理器架构( ...
随机推荐
- MongoDB and Redis
简介 MongoDB更类似MySQL,支持字段索引.游标操作,其优势在于查询功能比较强大,擅长查询JSON数据,能存储海量数据,但是不支持事务. Mysql在大数据量时效率显著下降,MongoDB更多 ...
- poj 1015 Jury Compromise(背包+方案输出)
\(Jury Compromise\) \(solution:\) 这道题很有意思,它的状态设得很...奇怪.但是它的数据范围实在是太暴露了.虽然当时还是想了好久好久,出题人设了几个限制(首先要两个的 ...
- Educational Codeforces Round 10 D. Nested Segments
D. Nested Segments time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- hihocoder 1082 然而沼跃鱼早就看穿了一切 (替换指定的串 )
#1082 : 然而沼跃鱼早就看穿了一切 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 fjxmlhx每天都在被沼跃鱼刷屏,因此他急切的找到了你希望你写一个程序屏蔽所有句 ...
- UVA10480 Sabotage —— 最小割最大流
题目链接:https://vjudge.net/problem/UVA-10480 题解: 实际就是求最小割集. 1.什么是网络流图的“割”?答:一个边的集合,使得网络流图删除这些边之后,点被分成两部 ...
- bzoj1025 [SCOI2009]游戏——因数DP
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1025 这篇博客写得真好呢:https://www.cnblogs.com/phile/p/4 ...
- C#:目录
ylbtech-C#:目录 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 6.返回顶部 作者:ylbtech出处:http://ylbtech.cn ...
- 用 SDL2 显示一张图片
来源: http://adolfans.github.io/sdltutorialcn/ (中文教程) http://www.willusher.io/pages/sdl2/ (英文教程) 环境:SD ...
- Java中的Cloneable接口与深拷贝、浅拷贝
Cloneable接口是一个标记接口,也就是没有任何内容,定义如下: 这里分析一下这个接口的用法,clone方法是在Object种定义的,而且是protected型的,只有实现了这个接口,才可以在该类 ...
- 让ubuntu16.04开机进入命令行模式
使用Ubuntu时,有时候我们不想开机进入桌面,想直接进入命令行,这样启动的比较快, 1.首先我们修改grub文件,改为如图所示: sudo gedit /etc/default/grub 改完之后 ...