Linux awk

【参考文章】:linux awk命令详解html

【参考文章】:awk 入门教程——阮一峰的网络日志linux

1. 简介编程

  AWK是一种处理文本文件的语言,是一个强大的文本分析工具。网络

  AWK其实不单单是工具软件,仍是一种编程语言。编程语言

2. 基本用法函数

  awk是以文件的一行为处理单位的。awk每接收文件的一行,而后执行相应的命令,来处理文本。工具

  默认使用空格做为分隔符。post

 

  awk   '{ action }'   {filenames}url

  awk   '{ pattern + action }'   {filenames}日志

  awk  -F  '分隔符' { action } 

3. 变量

  • $ + 数字 :表示第几个字段,$1 ,$2 表示第 1 ,2 个字段,
  • NF :表示当前行有多少个字段,所以$NF就表明最后一个字段,$(NF-1)表明倒数第二个字段。
  • NR 表示当前处理的是第几行
  • FILENAME:当前文件名
  • FS:字段分隔符,默认是空格和制表符。
  • RS:行分隔符,用于分割每一行,默认是换行符。
  • OFS:输出字段的分隔符,用于打印时分隔字段,默认为空格。
  • ORS:输出记录的分隔符,用于打印时分隔记录,默认为换行符。
  • OFMT:数字输出的格式,默认为%.6g。

 

4. 函数

4.1 print 和 printf

  awk中同时提供了print和printf两种打印输出的函数。

  print函数,参数能够是变量、数值或者字符串。字符串必须用双引号引用,参数用逗号分隔。若是没有逗号,参数就串联在一块儿而没法区分。这里,逗号的做用与输出文件的分隔符的做用是同样的,只是后者是空格而已。

  printf函数,其用法和c语言中printf基本类似,能够格式化字符串,输出复杂时,printf更加好用,代码更易懂。

4.2 其余函数

  • tolower():字符转为小写。
  • length():返回字符串长度。
  • substr():返回子字符串。
  • sin():正弦。
  • cos():余弦。
  • sqrt():平方根。
  • rand():随机数。
相关文章
相关标签/搜索