linux-awk

• awk是一种编程语言,用于在linux/unix下对文本和数据
进行处理。数据可以来自标准输入(stdin)、一个或多个文
件,或其它命令的输出。它支持用户自定义函数和动态
正则表达式等先进功能,是linux/unix下的一个强大编程
工具。
• awk命令格式和选项
• awk [选项参数] '{命令参数}' file
• awk命令选项
• -F fs fs指定输入分隔符, fs可以是字符串或正则表达式,如-F:
• -f scripfile 从脚本文件中读取awk命令
• -v var=value 赋值一个用户定义变量,将外部变量传递给awk
awk
• awk常用的几个内置参数
• $0 表示整个当前行
• $n 每行第n个字段
• NF 字段数量变量,也就是每行有多少个字段
• NR 每行的记录号,多文件记录递增
• awk的if判断
• if (expression) {
statement;}
else {
statement2;}
awk实战
• 匹配文件出现内容的行
• awk ‘/Exception/ {print NR} ‘ catalina.out
• 查询tomcat进程号
• ps -ef|grep tomcat |grep -v "grep" |awk '{print $2}‘
• 输出apache日志中的访问ip地址、访问路径和状态码
• awk '{print "ip=="$1,"path=="$7,"code=="$9}'
/opt/lampp/logs/access_log
• 将成绩不及格的学生名称输出
• awk '{if($2>60){}else{print $1}}' soce.txt
• 将mysql的进程号写到mysql.pid这个文件中
• ps -ef|grep mysql|grep -v "grep"|awk '{print $2 >
"mysql.pid"}

posted @ 2016-09-20 10:58  D.零下的小书屋  阅读(248)  评论(0编辑  收藏  举报