linux cpu占用率如何看
357
2022-09-13
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.txtwak -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}'
使用awk交换/etc/passwd第一列和最后一列的内容
awk -F: '{print $NF,$2,$3,$4,$5,$6,$1}' /etc/passwdawk -F: '{print $NF":"$2":"$3":"$4":"$5":"$6":"$1}' /etc/passwdawk -vFS=: -vOFS=: '{print $NF,$2,$3,$4,$5,$6,$1}'
取出ip地址
ip a s ens33 | awk -F"[ /]+" 'NR==4{print $3}'ip a s ens33 | awk -vFS="[ /]+" 'NR==4{print $3}'
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~