shell脚本编程(七)awk命令二

awk动作表达式中的算术符

^或**的指数运算

++或–

++

举几个例子

用awk计算/etc/services中的空白行

计算学生课程分数平均值,学生课程文件内容如下

使用命令、并且格式左对齐保留5位、先减后厨

给输出结果上面加上标题

结果

awk条件语句

if条件语句

举例说明:

1、以:分隔符,只打印/etc/passwd中第3个字段的数值在50-100范围内的行信息

注意:如果一个if不用加{}

if else if else 编写脚本执行

awk循环语句

计算下列每个同学的平均分数大于90的、用循环做

例子代码

编写awk文件vim student.awk

因为$1是姓名、所以count=2 ; $(count)等价于$2

计算总分、添加END语句、修改student.awk

do while语句

for 语句

求1…..100的累加~

while循环

列子、求1…100的累加!

第一种写法:

第二种写法:

awk字符串函数对照表

1、以:分隔符,返回/etc/passwd中每行中每个字段的长度

另一种写法

2、搜索字符串”I have a dream”中出现”ea”字串的位置

(1) 利用index()函数。

(2)利用match()函数、可以使用正则

3、将字符串”Hadoop is a bigdata framework” 全部转换为小写

4、将字符串”Hadoop is a bigdata framework” 全部转换为大写

5、将字符串”Hadoop Kafka Spark Storm HDFS Zookper”,按照空格分隔,把切割的内容存入数组arr里面

用for in循环打印

6、搜索字符串”Tranction 2345 start:select * from master”第一个数字出现的位置

7、截取字符串”Tranction start”的子串,截取条件从第4个字符开始,截取5位

8、替换字符串”Tranction 243 start,Event ID:9002″中第一个匹配到的数字串为$符号

9、替换字符串”Tranction 243 start,Event ID:9002″中全部匹配到的数字串为$符号

发表评论