Linux三剑客awk之行和列
一、介绍
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之行和列相关推荐
- linux三剑客awk、sed、grep与cut的总结
在Linux中,一切皆文件,对Linux的操作就是对文件的处理.对文件操作处理最重要的三个命令是grep.sed.awk,它们在业界被称为"三剑客". 三剑客的功能非常强大,但它们 ...
- Linux三剑客(awk、sed、grep) 和 正则表达式
本文章适用于一定工作经验(熟悉Linux基础)的同行,欢迎各位大佬批判指正. 上手三剑客(grep,sed,awk)之前,需要熟悉正则表达式,正则表达式--事先定义好的一些特定字符.及这些特定字符的组 ...
- linux三剑客(awk,grep,sed)
简介 linux三剑客是指在linux操作系统中非常重要的三个命令,即awk,grep,sed这三个命令.它们都具有优秀的处理文件的功能. ①awk:多用于取列. ②grep:多用于查找或匹配文本. ...
- linux三剑客试题,linux三剑客-awk
第1章 awk指哪打哪 1.1 awk内置变量 FS 输入字段(列)分隔符 -F : 相当于-vFS : NR number of record 行号(记录号) NF number of filed ...
- 每天学一点儿shell:Linux三剑客——awk命令
文章目录 awk的命令格式 命令格式 常用命令选项 awk内置命令 awk的用法实例 获取内容的第2列 获取每一行的行数 内置函数 算数函数 字符串内置函数 时间内置函数 awk的命令格式 命令格式 ...
- 01-09 Linux三剑客-awk
定义 把文件逐行读入,以空格为默认分割符,将每行切片,切开的部分再进行后续处理 处理流程: 格式:awk [参数] 'pattern action' [文件] pattern:正则表达式 action ...
- Linux三剑客awk数组、判断、循环
awk数组 数组应用场景 数组的下标可以是任意形式,理解为高级语言的map表即可 统计次数:统计每个用户ip出现的次数,统计每种状态码出现次数,统计系统中每个用户被攻击的次数,统计攻击者ip出现的次数 ...
- Linux三剑客学习笔记
linux三剑客 文章目录 linux三剑客 大纲 1.正则表达式 1.1什么是正则表达式 1.2应用场景 1.3正则表达式注意事项 1.4正则表达式符号 1.5正则VS通配符 1.6基础正则 1.6 ...
- Linux三剑客 grep sed awk 详细使用方法
Linux中最重要的三个命令在业界被称为"三剑客",它们是awk,sed,grep. 我们现在知道Linux下一切皆文件,对Linux的操作就是对文件的处理,那么怎么能更好的处理文 ...
最新文章
- 剑指offer和LeetCode题目笔记
- Oracle10g数据库归档与非归档模式下的备份与恢复
- 计算机组成原理(二)数据的表示和运算
- 衡量模块独立性的两个定性标准
- 【开200数组解决二叉搜索树的建立、遍历】PAT-L3-016. 二叉搜索树的结构——不用链表来搞定二叉搜索树...
- mac php5.6 gd 扩展,mac 编译安装php5.6.40
- 1120 Friend Numbers
- 漏洞payload 靶机_以DVRF(路由器漏洞靶机)为例解读JEB固件漏洞利用-阿里云开发者社区...
- Java实现对List集合去重的几种方法
- 论微服务架构及其应用
- 蓝桥杯科学素养刷题和分析
- unity android 触屏,Unity 移动端触摸屏操作
- 域名进行实名认证需要提交什么资料?
- Java 是否应该使用通配符导入( wildcard imports)
- 埃尔米特多项式 (Hermite Polynomials)简介(1)
- 外科手术器械设计 超声刀设计思路和原理 - 02
- 静态分析 第三课 Data Flow Analysis(1)
- 游戏服务器多少钱一个月 游戏服务器配置怎么选择
- mysql服务启动后停止解决办法
- 【Python】这篇文章能让你明白经验模态分解(EMD)——EMD在python中的实现方法
热门文章
- php解决01背包问题,php实现01背包问题之动态规划
- 【FCC】检查字符串结尾
- 无线通信中的TD系统(TD-LTE)
- (keras自学排雷)Layer lstm will not use cuDNN kernel
- c++ 编译添加dll_(windows平台下)深入详解C++创建动态链接库DLL以及如何使用它(一)...
- Kotlin 学习笔记(四)—— 协程的基础知识,面试官的最爱了~
- ModuleNotFoundError: No module named ‘pyLDAvis.gensim‘解决方案
- 知识图谱构建2——使用protege构建本体
- python爬虫案例教程~淘女郎、百度百科文本、规范化爬虫
- 三维视觉系统在顶盖激光焊接生产线上的应用案例