A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 庭院深深深几许 金牌黑马   /  2019-4-17 11:59  /  743 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  awk命令语法
  awk 'BEGIN{ commands } pattern{ commands } END{ commands }'
  awk工作原理

  开始块(BEGIN)
  开始块就是在程序启动的时候执行的代码部分,并且它在整个过程中只执行一次。
  一般情况下,我们可以在开始块中初始化一些变量。
  BEGIN 是 AWK 的关键字,因此它必须是大写的。
  注意:开始块部分是可选的,你的程序可以没有开始块部分。
  主体块(BODY)
  对于每一个输入的行都会执行一次主体部分的命令。
  默认情况下,对于输入的每一行,AWK 都会执行命令。但是,我们可以将其限定在指定的模式中。
  注意:在主体块部分没有关键字存在。
  结束块(END)
  结束块是在程序结束时执行的代码。 END 也是 AWK 的关键字,它也必须大写。 与开始块相似,结束块也是可选的。
  awk常用命令
  求第5列所有数字之和: awk -F "," 'BEGIN{SUM=0}{SUM=SUM+$5} END {print SUM}' test.txt
  加判断条件,求第5列所有正整数的和:awk -F',' 'BEGIN{sum=0} {if ($5 > 0) sum+=$5} END{print sum}' test.txt
  找出文件中所有空行: awk 'BEGIN{X=0} /^$/{ X+=1 } END{print "I find",X,"blank lines."}' test.txt
  计算当前目录下,所有普通文件的大小之和: ls -l|awk 'BEGIN{sum=0} !/^d/{sum+=$5} END{print "total size is:",sum/1024,"KB"}'


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马