网站维护-awk1、awk2

Linux学习20190314

awk

awk命令用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(stdin)、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk有很多内建的功能,比如数组、函数等,这是它和C语言的相同之处,灵活性是awk最大的优势。
语法格式
在这里插入图片描述
常用命令选项
在这里插入图片描述

awk脚本

awk脚本是由模式和操作组成的。
模式
模式可以是以下任意一种:

正则表达式:使用通配符的扩展集

关系表达式:使用运算符进行操作,可以是字符串或数字的比较测试

模式匹配表达式:用运算符~(匹配)和~!不匹配

BEGIN 语句块, pattern语句块, END语句块

操作由一个或多个命令、函数、表达式组成,之间由换行符或分号隔开,并位于大刮号内,主要部分是:变量或数组赋值、输出命令、内置函数、控制流语句。
awk脚本基本格式
在这里插入图片描述
一个awk脚本通常由BEGIN, 通用语句块,END语句块组成,三部分都是可选的。 脚本通常是被单引号或双引号包住
在这里插入图片描述
实例:
head -n2 test.txt|awk -F ‘:’ ‘{print $1}’
head -n2 test.txt|awk -F ‘:’ ‘{print $0}’
awk -F ‘:’ ‘{print $1"#"$2"#"$3"#"$4}’
awk ‘/oo/’ test.txt
awk -F ‘:’ ‘$1 ~/oo/’ test.txt
awk -F ‘:’ ‘/root/ {print $1,$3} /test/ {print $1,$3}’ test.txt
awk -F ‘:’ ‘$3==“0”’ /etc/passwd
awk -F ‘:’ ‘$3>=“500”’ /etc/passwd
awk -F ‘:’ ‘$3>=500’ /etc/passwd
awk -F ‘:’ ‘$7!="/sbin/nologin"’ /etc/passwd
awk -F ‘:’ ‘$3<$4’ /etc/passwd
awk -F ‘:’ ‘$3>“5” && $3<“7”’ /etc/passwd
awk -F ‘:’ ‘$3>1000 || $7=="/bin/bash"’ /etc/passwd
head -5 /etc/passwd |awk -F ‘:’ '{OFS="#"} {print $1,$3,$4}‘
awk -F ‘:’ ‘{OFS="#"} {if ($3>1000) {print $1,$2,$3,$4}}’ /etc/passwd
head -n3 /etc/passwd | awk -F ‘:’ '{print NF}‘
head -n3 /etc/passwd | awk -F ‘:’ '{print NR}‘
awk ‘NR>40’ /etc/passwd
awk -F ‘:’ ‘NR<20 && $1 ~ /roo/’ /etc/passwd
head -n 3 /etc/passwd |awk -F ‘:’ '$1=“root”‘
awk -F ‘:’ ‘{(tot=tot+$3)}; END {print tot}’ /etc/passwd
awk -F ‘:’ ‘{if ($1==“root”) {print $0}}’ /etc/passwd

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值