linux awk命令的使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux awk命令的使用相关的知识,希望对你有一定的参考价值。
ask 是一种文本处理工具 ,一个强大的文本分析工具格式:
awk ‘/pattern/{command}‘ file1 file2 ... #行匹配语句awk‘ ‘只能用单引号
-F 指定分隔符
-f 调用脚本
-v 定义变量
‘ ‘ 引用代码块
BEGIN 在对每一行进行处理之前,初始化代码
// 匹配代码块,可以是字符串或正则表达式
; 多条命令使用分号分隔
END 对每一行进行处理之后再执行的代码块,主要是进行最终计算或输出 结尾摘要信息
{ } 包含一条或多条命令
特殊符号:
$0 匹配整行
$1 每行的第一个字段
FS 输入域分隔符,默认为一个空格
RS 输入记录分隔符
NF 当前记录里域个数
NR 到目前为止记录数
OFS 输出域分隔符
ORS 输出记录分隔符
\t 制表符
\n 换行符
== 等于全部相等
!= 不等于
例 awk ‘{print $0}‘ file 显示整行
awk ‘{print $1,$3}‘ file 显示匹配行的第一、三个域
awk ‘{print FNR,$0}‘ file file2 把两个文件合起来显示
统计/etc/fstab文件中每个文件系统类型出现的次数
awk ‘/^UUID/{fs[$3]++}END{for(i in fs){print i,fs[i]}}‘ /etc/fstab
统计/etc/fstab文件中每个单词出现的次数
awk ‘{i=1;while(i<=NF){word[$i]++;i++}}END{for(num in word){print num,word[num]}}‘ /etc/fstab
统计出/etc/passwd文件中shell的种类和个数
awk -F: ‘{shell[$NF]++}END{for (i in shell){print i ,
shell[i]}}‘ /etc/passwd
以上是关于linux awk命令的使用的主要内容,如果未能解决你的问题,请参考以下文章