Linux三剑客-awk
Posted imlifelong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux三剑客-awk相关的知识,希望对你有一定的参考价值。
awk 是Linux中强大的数据处理工具
awk 的变量 NR 记录数,行数 NF 域数,列数 $NF最后一列 OFS 结果分隔符,默认空格 FS 条件分隔符 RS 记录分隔符默认空格 -F 指定分隔符默认是空格 awk -F ‘\t‘ ‘print $1‘ 指定分隔符为tab并打印第一列 awk ‘BEGIN FS="," print $1‘ 指定分隔符为 , 并打印第一列 FS=‘,+‘ 分隔符为一个或多个 , 至少一个 , awk ‘BEGIN FS=‘:‘ $1~/admin/‘ passwd.txt 匹配第一列是admin的行 awk ‘BEGIN FS=":" $0~/admin/‘ passwd.txt 匹配全域有admin的行 awk ‘BEGIN FS=":" $0!~/admin/‘ passwd.txt 全部区域都不匹配 awk ‘BEGIN FS=":" if ($3>$4) print $0‘ passwd.txt 打印第三列大于第四列的行 awk ‘BEGIN FS=":" if ($3==10 || $4==10) print $0‘ passwd.txt 打印第三域或第四域为10的行 awk ‘BEGIN FS=":" if ($3~10 || $4~10) print $0‘ passwd.txt 打印第三域或第四域包含‘10‘的行 awk ‘/^$/ print s+=1‘ passwd.txt 匹配空白行从1到n,s默认从0开始 awk ‘BEGIN FS=":" printf("%s\t %d\n", $1, $4)‘ passwd.txt 格式化打印(printf 类似C语言中) last | awk ‘FS="\t" S[$3]++ ENDfor(a in S ) print S[a],a‘ |uniq| sort -rh 查看最近登录最多的IP信息 awk -F: ‘count++; ENDprint count‘ /etc/passwd 打印用户数量
以上是关于Linux三剑客-awk的主要内容,如果未能解决你的问题,请参考以下文章