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 显示机器的处理器架构( ...
随机推荐
- 正则_action
http://wiki.ubuntu.org.cn/index.php?title=Python%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E6%93% ...
- 新建web项目时css注意事项
初始化css ,如设置body的margin,padding值,button:hover的pointer手型,li dd的list-style,a的下划线等. 最好将常用的初始化css文件整合在一起, ...
- POJ1077 Eight —— 反向BFS
主页面:http://www.cnblogs.com/DOLFAMINGO/p/7538588.html 代码一:以数组充当队列,利用结构体中的pre追溯上一个状态在数组(队列)中的下标: #incl ...
- hdu 3336 Count the string(next数组)
题意:统计前缀在串中出现的次数 思路:next数组,递推 #include<iostream> #include<stdio.h> #include<string.h&g ...
- 简易五子棋 V1.1.0
main.cpp #include "fivechess.cpp" int main() { fivechess a; a.RunGame(); getchar(); return ...
- SPOJ:Dandiya Night and Violence(Bitset优化)
It is Dandiya Night! A certain way how dandiya is played is described: There are N pairs of people p ...
- CodeForces979D:Kuro and GCD and XOR and SUM(Trie树&指针&Xor)
Kuro is currently playing an educational game about numbers. The game focuses on the greatest common ...
- [SoapUI] Jenkins 配置
cd %WORKSPACE% cmd /c call "%SOAPUI_PRO_HOME%\bin\testrunner.bat" -a -j -PprojectPath=&quo ...
- 【Codeforces 762A】 k-th divisor
[题目链接] 点击打开链接 [算法] 我们知道,一个数的因子是成对出现的,一半小于等于sqrt(N),一半大于sqrt(N),因此,我们可以从 2..sqrt(N)枚举因子 [代码] #include ...
- python的日志logging模块性能以及多进程
写在前面: 日志是记录操作的一种好方式.但是日志,基本都是基于文件的,也就是要写到磁盘上的.这时候,磁盘将会成为一个性能瓶颈.对于普通的服务器硬盘(机械磁盘,非固态硬盘),python日志的性能瓶颈是 ...