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的更多相关文章

  1. linux常用命令 awk命令

    awk命令 awk [选项] '条件1{动作1} 条件2{动作2}...' 文件名 条件(Pattern) *) 一般使用关系表达式作为条件 *) x>10 判断变量x是否大于10 *) x&g ...

  2. linux 常用命令大全

    linux 常用命令大全 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统 ...

  3. linux 常用命令及技巧

    linux 常用命令及技巧 linux 常用命令及技巧:linux 常用命令总结: 一. 通用命令: 1. date :print or set the system date and time 2. ...

  4. 最近用到的Linux常用命令总结

    最近用到的Linux常用命令总结 - ls :显示当前目录文件信息 `ls -a -l` - cd :目录跳转 cd .. 上级目录 cd ~ home目录 cd - 最近目录 - cat :在屏幕上 ...

  5. Linux 常用命令使用方法大搜刮

    Linux 常用命令使用方法大搜刮 1.# 表示权限用户(如:root),$ 表示普通用户  开机提示:Login:输入用户名  password:输入口令   用户是系统注册用户成功登陆后,可以进入 ...

  6. linux常用命令 、查看日志、web排查

    linux常用命令 ps aux|grep xxx (比如 ps aux|grep tomcat ps aux|grep tomcat-portalvip ps aux|grep nginx 等) r ...

  7. 100个命令Linux常用命令大全

    Linux常用命令大全100条: 1,echo "aa" > test.txt 和 echo "bb" >> test.txt//>将原 ...

  8. Linux常用命令大全(非常全!!!)

    Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短 ...

  9. 【转载】Linux常用命令

    Linux常用命令大全(非常全!!!) 转载出处:https://www.cnblogs.com/yjd_hycf_space/p/7730690.html 系统信息 arch 显示机器的处理器架构( ...

随机推荐

  1. inheritance super overrides printMethod in Superclass override重写父方法

    Core Java Web Page http://horstmann.com/corejava.html [ inheritance ] package v1ch05.inheritance; im ...

  2. 【腾讯bugly干货分享】精神哥手把手教你怎样智斗ANR

    上帝说要有ANR,于是Bugly就有了ANR上报.那么ANR究竟是什么? 近期非常多童鞋问起精神哥ANR的问题,那么这次就来聊一下,鸡爪怎么泡才好吃.噢不,是怎样高速定位ANR. ANR是什么 简单说 ...

  3. rails使用mysql数据库

    简单步骤 1,安装mysql 安裝 MySQL Ubuntu 上安裝 MySQL 請執行: $ sudo apt-get install mysql-server mysql-common mysql ...

  4. bzoj3136: [Baltic2013]brunhilda

    这个题为什么会放在数据结构啊 首先因为有决策包容性,对于一个n每次必然选择一个n%p最大的p,令n减n%p 设fi表示i变成0的步数的话,同样我们可以知道f是有单调性的 假如fd能转移到fk,首先d一 ...

  5. html5--6-65 布局4-弹性布局

    html5--6-65 布局4-弹性布局 实例 学习要点 掌握传统布局与CSS3新增弹性布局方式的实现和应用 弹性布局(弹性伸缩布局) 事实上它是一种新类型的盒子模型,也有书上称作弹性伸缩盒布局. 比 ...

  6. c语言中为什么左移不分符号数无符号数,而右移分呢??

    因为在C语言标准中,只规定了无符号数的移位操作是采用逻辑移位(即左移.右移都是使用的逻辑左移和逻辑右移).而对于有符号数,其左移操作还是逻辑左移,但右移操作是采用逻辑右移还是算术右移就取决于机器了!( ...

  7. linux学习二(小随笔)

    1apt-get 解包命令 tar zxvf ......... 打包命令 tar czvf ......... gz gunzip ........gz gzip    ..........gz l ...

  8. yui压缩js文件

    http://ganquan.info/yui/?hl=zh-CN yui压缩js文件 在工程中,js文件的管理是个麻烦事,并且随着项目越做越多,各种js文件混杂,有时候一个页面需要加载好多js文件, ...

  9. Autolayout UIScrollView

    http://www.cocoachina.com/ios/20141011/9871.html Xcode6中如何对scrollview进行自动布局(autolayout)   Xcode6中极大的 ...

  10. 单片机和Linux都想学_换个两全的方法学习单片机

    本节教你如何学习单片机,如何选择合适的开发板和开发工具. 现在我们知道单片机是要学习的,那么怎么去学习单片机?在上一课我们说不要使用老一套的方法学习,实际上是指的两个问题. 第一:选择什么开发板: 第 ...