一、介绍

AWK 是一种处理文本文件的语言,是一个强大的文本分析工具,也是一门语言,有自己的数据结构,可以进行过滤、统计、计算、取行取列等操作

之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符

wak -F, 'BEGIN{print "name"}{print $2}END{print "end of file"}' oldboy.txt
wak -F, 'BEGIN{print "name"}NR==2{print $2}END{print "end of file"}' oldboy.txt  # 条件为,行==2


二、awk行与列

awk中名词 说明
记录,record 每行默认以回车分割
字段,域,field 每列默认通过空格分割,-F可以指定分隔符
内置变量 说明
NR Number of Record,记录号,行号
NF Number of Field,域号,列号
FS Field Separator,每个字段的分隔符,-vFS可修改分隔符
OFS Out Field Separator,每个字段的输出分隔符,默认是空格,-vOFS可修改输出分隔符

三、awk取行

awk取行
NR==1 取第一行
NR>=1 && NR <=5 取第1~5行
/101/,/105/ 从含有字符串101的行到含有字符串105的行

四、awk取列

  • -F:指定分隔符,默认是空格/连续空格/tab
  • $3:取出第3行,列数从1开始,不从0开始
  • $0:表示一整行
  • $NF:表示最后一列
  • $(NF-1):表示倒数第二列
awk '{print $1}'
awk '{print $1,$9}'


  • 取出整行
awk 'NR==4{print $0}'

  • 取出/etc/passwd的第一列和最后一列
awk -F: '{print $1,$NF}' /etc/passwd

  • 使用awk交换/etc/passwd第一列和最后一列的内容

awk -F: '{print $NF,$2,$3,$4,$5,$6,$1}' /etc/passwd
awk -F: '{print $NF":"$2":"$3":"$4":"$5":"$6":"$1}' /etc/passwd
awk -vFS=: -vOFS=: '{print $NF,$2,$3,$4,$5,$6,$1}' /etc/passwd
  • 取出ip地址
ip a s ens33 | awk -F"[ /]+" 'NR==4{print $3}'
ip a s ens33 | awk -vFS="[ /]+" 'NR==4{print $3}'

Linux三剑客awk之行和列相关推荐

  1. linux三剑客awk、sed、grep与cut的总结

    在Linux中,一切皆文件,对Linux的操作就是对文件的处理.对文件操作处理最重要的三个命令是grep.sed.awk,它们在业界被称为"三剑客". 三剑客的功能非常强大,但它们 ...

  2. Linux三剑客(awk、sed、grep) 和 正则表达式

    本文章适用于一定工作经验(熟悉Linux基础)的同行,欢迎各位大佬批判指正. 上手三剑客(grep,sed,awk)之前,需要熟悉正则表达式,正则表达式--事先定义好的一些特定字符.及这些特定字符的组 ...

  3. linux三剑客(awk,grep,sed)

    简介 linux三剑客是指在linux操作系统中非常重要的三个命令,即awk,grep,sed这三个命令.它们都具有优秀的处理文件的功能. ①awk:多用于取列. ②grep:多用于查找或匹配文本. ...

  4. linux三剑客试题,linux三剑客-awk

    第1章 awk指哪打哪 1.1 awk内置变量 FS 输入字段(列)分隔符 -F : 相当于-vFS : NR number of record 行号(记录号) NF number of filed  ...

  5. 每天学一点儿shell:Linux三剑客——awk命令

    文章目录 awk的命令格式 命令格式 常用命令选项 awk内置命令 awk的用法实例 获取内容的第2列 获取每一行的行数 内置函数 算数函数 字符串内置函数 时间内置函数 awk的命令格式 命令格式 ...

  6. 01-09 Linux三剑客-awk

    定义 把文件逐行读入,以空格为默认分割符,将每行切片,切开的部分再进行后续处理 处理流程: 格式:awk [参数] 'pattern action' [文件] pattern:正则表达式 action ...

  7. Linux三剑客awk数组、判断、循环

    awk数组 数组应用场景 数组的下标可以是任意形式,理解为高级语言的map表即可 统计次数:统计每个用户ip出现的次数,统计每种状态码出现次数,统计系统中每个用户被攻击的次数,统计攻击者ip出现的次数 ...

  8. Linux三剑客学习笔记

    linux三剑客 文章目录 linux三剑客 大纲 1.正则表达式 1.1什么是正则表达式 1.2应用场景 1.3正则表达式注意事项 1.4正则表达式符号 1.5正则VS通配符 1.6基础正则 1.6 ...

  9. Linux三剑客 grep sed awk 详细使用方法

    Linux中最重要的三个命令在业界被称为"三剑客",它们是awk,sed,grep. 我们现在知道Linux下一切皆文件,对Linux的操作就是对文件的处理,那么怎么能更好的处理文 ...

最新文章

  1. 剑指offer和LeetCode题目笔记
  2. Oracle10g数据库归档与非归档模式下的备份与恢复
  3. 计算机组成原理(二)数据的表示和运算
  4. 衡量模块独立性的两个定性标准
  5. 【开200数组解决二叉搜索树的建立、遍历】PAT-L3-016. 二叉搜索树的结构——不用链表来搞定二叉搜索树...
  6. mac php5.6 gd 扩展,mac 编译安装php5.6.40
  7. 1120 Friend Numbers
  8. 漏洞payload 靶机_以DVRF(路由器漏洞靶机)为例解读JEB固件漏洞利用-阿里云开发者社区...
  9. Java实现对List集合去重的几种方法
  10. 论微服务架构及其应用
  11. 蓝桥杯科学素养刷题和分析
  12. unity android 触屏,Unity 移动端触摸屏操作
  13. 域名进行实名认证需要提交什么资料?
  14. Java 是否应该使用通配符导入( wildcard imports)
  15. 埃尔米特多项式 (Hermite Polynomials)简介(1)
  16. 外科手术器械设计 超声刀设计思路和原理 - 02
  17. 静态分析 第三课 Data Flow Analysis(1)
  18. 游戏服务器多少钱一个月 游戏服务器配置怎么选择
  19. mysql服务启动后停止解决办法
  20. 【Python】这篇文章能让你明白经验模态分解(EMD)——EMD在python中的实现方法

热门文章

  1. php解决01背包问题,php实现01背包问题之动态规划
  2. 【FCC】检查字符串结尾
  3. 无线通信中的TD系统(TD-LTE)
  4. (keras自学排雷)Layer lstm will not use cuDNN kernel
  5. c++ 编译添加dll_(windows平台下)深入详解C++创建动态链接库DLL以及如何使用它(一)...
  6. Kotlin 学习笔记(四)—— 协程的基础知识,面试官的最爱了~
  7. ModuleNotFoundError: No module named ‘pyLDAvis.gensim‘解决方案
  8. 知识图谱构建2——使用protege构建本体
  9. python爬虫案例教程~淘女郎、百度百科文本、规范化爬虫
  10. 三维视觉系统在顶盖激光焊接生产线上的应用案例