LINUX awk 语句 awk ' { SUM += $1 } END { print SUM }'请问这个要怎么理解,需详细

LINUX awk 语句 awk ' { SUM +=  } END { print SUM }'请问这个要怎么理解,需详细,第1张

1、首先awk截取指定域,在日志的处理和监控中,经常会截取指定的字符来进行后续处理。如:从df -h命令中提取/目录所占百分比(监控经常会用到)。

2、awk中的判断输出,awk -F: '{if($3>=1000){print "CommonUser:",$1}}' /etc/passwd如果uid大于等于1000,输出用户名,否者不输出,-F后边跟字符的分隔符,不加-F默认空格分隔。

3、NR 表示文件中的行号,表示当前是第几行。NF 表示文件中的当前行列的个数。FS 表示 awk 的输入分隔符,默认分隔符为空格和制表符,可以对其进行自定义设置 。OFS 表示 awk 的输出分隔符,默认为空格,也可以对其进行自定义设置。

4、在 awk 中使用数学运算,经常会遇到需要统计相同key的value总和。

5、最后在 awk 中使用正则表达式 //中是要匹配的字符awk '/^math/ {print }'  123txt--------匹配以math开头的行。

这道题目挺好,涉及了判断表达式,字符串截取,格式化输出。

convertsh 内容如下:

#!/bin/bash

guide="Usage: `basename $0` c"

if [ $# -eq 0 ]; then # no input parameter

echo "$guide"

exit 1

fi

file="$1"

ext=${file##} # parse file extension

name=${file%} # parse basic file name

# file doesn't exist or is not a regular file, or is not a C source file

if [ ! -f $file -o $ext != "c" ]; then

echo "Please check if $file is a valid file!"

echo "$guide"

exit 1

fi

awk '{printf("%d\t%s\n",++i,$0)}' $file >${name}txt

exit 0

a=0 是设置状态位,当a为1时打印第三个字段的值,同时把状态标志a设置为0

这个是条件语句,相当于c语言中的if(条件),这两个条件同时成立

a==1 并且 ${key}==$1

提取文件中指定模式匹配的字段内容:

awk 'BEGIN{FS=OFS=","}{for(i=1;i<=NF;i++){if($i ~ /daytime=|sectime=|s1=|cid=/)lines=lines","$i;};print lines;lines=""}' $FILE

进阶版,使用awk的match函数:

awk '{match($0,/(daytime=[^,],)/,a);match($0,/(sectime=[^,],)/,b);match($0,/(s1=[^,],)/,c);match($0,/(cid[^}])}/,d);print a[1],b[1],d[1],",",c[1]}' clickid_807c98_2017-09-17_23_convertxt

超强版,直接生成csv格式可以使用Excel打开:

awk '{match($0,/daytime=([^,],)/,a);match($0,/sectime=([^,],)/,b);match($0,/s1=([^,],)/,c);match($0,/cid=([^}])}/,d);print a[1],b[1],d[1],",",c[1]}' clickid_807c98_2017-09-17_23_convertxt

以上就是关于LINUX awk 语句 awk ' { SUM += $1 } END { print SUM }'请问这个要怎么理解,需详细全部的内容,包括:LINUX awk 语句 awk ' { SUM += $1 } END { print SUM }'请问这个要怎么理解,需详细、编写一个shell程序convert.sh 如果输入convert.sh *.c、谁能帮忙解释下这个awk语句什么意思等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10171019.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存