1、打印文件的第一列(域)                 : awk '{print $1}' filename
2、打印文件的前两列(域)                 : awk '{print $1,$2}' filename
3、打印完第一列,然后打印第二列  : awk '{print $1 $2}' filename
4、打印文本文件的总行数                : awk 'END{print NR}' filename
5、打印文本第一行                          :awk 'NR==1{print}' filename
6、打印文本第二行第一列                :sed -n "2, 1p" filename | awk 'print $1'

#(获取test文件的第4行)

#cat test| awk 'NR==4'或cat test|sed -n '4p'直接获取某一行的数据

shell里面的赋值方法有两种,格式为
    1) arg=`(命令)`
    2) arg=$(命令)
因此,如果想要把某一文件的总行数赋值给变量nlines,可以表达为:
    1) nlines=`(awk 'END{print NR}' filename)`
或者

2) nlines=$(awk 'END{print NR}' filename)

awk练习题
   wang     4
   cui      3
   zhao     4
   liu      3
   liu      3
   chang    5
   li       2
   1 通过第一个域找出字符长度为4的
   2 当第二列值大于3时,创建空白文件,文件名为当前行第一个域$1 (touch $1)
   3 将文档中 liu 字符串替换为 hong
   4 求第二列的和
   5 求第二列的平均值
   6 求第二列中的最大值
   7 将第一列过滤重复后,列出每一项,每一项的出现次数,每一项的大小总和
   1、字符串长度
    awk 'length($1)=="4"{print $1}'
   2、执行系统命令
    awk '{if($2>3){system ("touch "$1)}}'
   3、gsub(/r/,"s",域) 在指定域(默认$0)中用s替代r  (sed 's///g')
    awk '{gsub(/liu/,"hong",$1);print $0}' a.txt
   4、列求和
    df -h | awk '{a+=$2}END{print a}'
   5、列求平均值
    df -h | awk '{a+=$2}END{print a/NR}'
    df -h | awk '{a+=$2;b++}END{print a,a/b}' 
   6、列求最大值
    df -h | awk 'BEGIN{a=0}{if($2>a) a=$2 }END{print a}'
   7、将第一列过滤重复列出每一项,每一项的出现次数,每一项的大小总和
    awk '{a[$1]++;b[$1]+=$2}END{for(i in a){print i,a[i],b[i]}}'

转:使用awk命令获取文本的某一行,某一列的更多相关文章

  1. Linux:使用awk命令获取文本的某一行,某一列

    无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家.教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家.点 这里 可以跳转到教程.”. 1.打印文件的第一列( ...

  2. Linux:使用awk命令获取文本的某一行,某一列;sed插入指定的内容到指定文件中

    awk相关用法: 1.打印文件的第一列(域)                 : awk '{print $1}' filename2.打印文件的前两列(域)                 : aw ...

  3. 使用 awk 命令统计文本

    2022-04-19 11:25:15.008,b4d13bfca8fe4b93a85e65a88520d945,LogScheduler#printLog,10ms,Y,xxxxxxxx 2022- ...

  4. linux之awk命令获取最后一列

    统计分析中经常用的awk命令,其中用的最多的还是切分 cat  test | awk -F',' '{print $1,$2} 能够很好的将记录按照需要切分开, 但是如何获取最后一列呢? 可以使用aw ...

  5. awk技巧(如取某一行数据中的倒数第N列等)

    使用awk取某一行数据中的倒数第N列:$(NF-(n-1))比如取/etc/passwd文件中的第2列.倒数第1.倒数第2.倒数第4列(以冒号为分隔符) [root@ipsan-node06 ~]# ...

  6. Linux中的高级文本处理命令,cut命令,sed命令,awk命令

    1.2.1 cut命令 cut命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields    ## 用于有特定分隔字符 [r ...

  7. linux 文本分析工具---awk命令(7/1)

    awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各 ...

  8. 【文本处理命令】之awk命令详解

    一.awk命令简介 awk 是一种很棒的语言,它适合文本处理和报表生成,其语法较为常见,借鉴了某些语言的一些精华,如 C 语言等.在 linux 系统日常处理工作中,发挥很重要的作用,掌握了 awk将 ...

  9. [Linux] AWK命令详解(大全)

    转载自:http://caoyanbao.iteye.com/blog/570868 什么是awk? 你可能对UNIX比较熟悉,但你可能对awk很陌生,这一点也不奇怪,的确,与其优秀的功能相比,awk ...

随机推荐

  1. udpsocket 通信C#例子

    服务端代码: using System; using System.Collections.Generic; using System.Linq; using System.Net; using Sy ...

  2. 数据库性能优化之SQL语句优化1

    一.问题的提出 在 应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实 际应用后,随着数据库中数据的增加, ...

  3. unity, 对于Debug.Log输出的log,可以双击定位到代码

    unity, 对于Debug.Log输出的log,可以双击定位到代码

  4. Atitit.获取swing ui 按钮控件的id 与名字 与JPDA 调试体系

    Atitit.获取swing ui 按钮控件的id 与名字 与JPDA 调试体系 1. Swing Inspector是一个Java Swing/AWT用户界面分析和调试工具,功能与firebug类似 ...

  5. C#协变与逆变

    http://zh.wikipedia.org/wiki/%E5%8D%8F%E5%8F%98%E4%B8%8E%E9%80%86%E5%8F%98 协变与逆变是程序设计语言中的类型系统的一对概念.类 ...

  6. position与float属性的使用

    1.使用float时,可以说是用于布局,取值主要有left.right.none.就是将该块的元素浮动起来,在浏览器默认的情况下,该元素的位置是为空的, 即脱离了文档流而存在,如果有其他元素,那么这些 ...

  7. virtualenv下使用matplotlib

    Unable to “import matplotlib.pyplot as plt” in virtualenv   (PyMVPA) SimilarFacedeMacBook-Pro:PyMVPA ...

  8. 使用 NGUI Toggle 制作单选框

    好久没写了,今天来把关于NGUI的做的简单功能发上来~ 这个是做单选框的.用了新版本的NGUI后,发现没有以前的Checkbox了,在网上查了之后才知道是用Toggle代替了以前的Checkbox.现 ...

  9. ext2文件系统了解

    一个磁盘可以划分成多个分区,每个分区必须先用格式化工具(例如mkfs命令)格式化成某种格式的文件系统,然后才能存储文件,格式化的过程会在磁盘上写一些管理存储布局的信息.下以ext2文件系统为例说明文件 ...

  10. 2017-5-14 湘潭市赛 Similar Subsequence 分析+四维dp+一些简单优化

    Similar Subsequence Accepted : Submit : Time Limit : MS Memory Limit : KB Similar Subsequence For gi ...