1、awk详解
awk的最基本功能是在文件或者字符串中基于指定规则浏览和抽取信息
语法:awk '{pattern + action}' {filenames}
【注】
pattern 可选 指的是正则匹配,如/root/
action 可选,当时使用的时候必须加{}与模式pattern进行区分 指的是对匹配到的内容进行的操作,常见的就是printf打印输出到标准输出
filenames 可选 指的操作的文件
常用:NR用来表示行号 NF用来统计列
-F用来设置分隔符,默认分隔符是换行符
输出第10行
awk 'NR == 10' file.txt 若找不到返回空
sed -n 10p file.txt -n 表示只输出匹配行,p表示Print
tail -n+10 /etc/passwd | head -1 (-n+10)表示从第10行开始输出
统计/etc/passwd:文件名,每行的行号,每行的列数,对应的完整行内容
awk -F ':' '{print "filename:" FILENAME ",linenumber:" NR ",columns:" NF ",linecontent:"$0}' /etc/passwd
获取第12到31行的第一列的信息
awk -F ":" '{if(NR<31 && NR >12) print $1}' /etc/passwd
查看最近登录最多的IP信息
last | awk '{S[$3]++} END{for(a in S ) {print S[a],a}}' |uniq| sort -rh
网友评论