系统之家 - 系统光盘下载网站!

当前位置:系统之家 > 系统教程 > Linux使用文本处理工具awk

Linux如何使用文本处理工具awk(2)

时间:2015-01-14 18:22:52 作者:qipeng 来源:系统之家 1. 扫描二维码随时看资讯 2. 请使用手机浏览器访问: https://m.xitongzhijia.net/xtjc/20150114/34882.html 手机查看 评论

  运算符

  1.赋值运算符

  = += -= *= /= %= ^= **=

  2.逻辑运算符

  ||:逻辑或

  &&:逻辑与

  3.正则运算符

  ~:匹配正则表达式

  ~!:不匹配正则表达式

  4.关系运算符

  《 《= 》 》= != ==

  5.算术运算符

  + - * / & ++ --

  6.其它运算符

  $:字段引用

  空格:字符串连接符

  ?:C条件表达式

  in:数组中是否存在某键值

  字符操作

  1.字符串转数字

  将变量通过”+”连接运算。自动强制将字符串转为整型。非数字变成0,发现第一个非数字字符,后面自动忽略

  2.数字转字符串

  只需要将变量与””符号连接起来运算即可

  3.字符串连接

  只需要将变量与””符号连接起来运算即可

  数组操作

  在awk中数组叫做关联数组,因为下标既可以是数也可以是串。awk中的数组不必提前声明,也不必声明大小。数组元素用0或空串来初始化,这根据上下文而定。需要注意的是不同版本下面函数不一定相同。其相关的函数有length、asort、delete、split。当然也可以实现多维数组。

  流程控制语句

  1.条件判断语句(if)

  if(表达式){语句1}else{语句2}

  if(表达式){语句1}else if(表达式){语句2}else{语句3}

  2.循环语句(while、for、do while)

  while(表达式){语句}

  for(变量 in 数组){语句}

  for(变量;条件;表达式){语句}

  do{语句}while(条件)

  3.关键字

  break:当break语句用于while或for语句时,导致退出程序循环。

  continue:当continue语句用于while或for语句时,使程序循环移动到下一个迭代。

  next:能能够导致读入下一个输入行,并返回到脚本的顶部。这可以避免对当前输入行执行其他的操作过程。

  exit:语句使主输入循环退出并将控制转移到END,如果END存在的话。如果没有定义END规则,或在END中应用exit语句,则终止脚本的执行。

  正则表达式

  +:包含一个或多个字符或扩展正则表达式的具体值(在 +(加号)前)在这个字符串中,则字符串匹配。命令行:awk ’/smith+ern/‘ testfile

  ?:包含零个或一个字符或扩展正则表达式的具体值(在 ?(问号)之前)在字符串中,则字符串匹配。命令行:awk ’/smith?/‘ testfile

  |:以 |(垂直线)隔开的字符串的任何一个在字符串中,则字符串匹配。命令行:awk ’/allen | alan /‘ testfile

  ():在正则表达式中将字符串组合在一起。命令行:awk ’/a(ll)?/‘ testfile

  {m}:有m个模式的具体值位于字符串中,则字符串匹配。命令行:awk ’/l{2}/‘ testfile

  {m,}:至少m个模式的具体值在字符串中,则字符串匹配。命令行:awk ’/t{2,}/‘ testfile

  {m, n}:在m和n之间(包含的m和n)个模式的具体值在字符串中(其中m 《= n),则字符串匹配。命令行:awk ’/er{1, 2}/‘ testfile

  [String]:正则表达式与方括号内String变量指定的任何字符匹配。命令行:awk ’/sm[a-h]/‘ testfile

  [^ String]:在 [ ](方括号)和在指定字符串开头的 ^ (插入记号) 指明正则表达式与方括号内的任何字符不匹配。这样,命令行:awk ’/sm[^a-h]/‘ testfile

  ~,!~:表示指定变量与正则表达式匹配或不匹配的条件语句。命令行:awk ’$1 ~ /n/‘ testfile

  ^:指定字段或记录的开头。命令行:awk ’$2 ~ /^h/‘ testfile

  $:指定字段或记录的末尾。命令行:awk ’$2 ~ /y$/‘ testfile

  。:表示除了在空白末尾的终端换行字符以外的任何一个字符。命令行:awk ’/a..e/‘ testfile

  \ :转义字符。当位于在扩展正则表达式中具有特殊含义的任何字符之前时,转义字符除去该字符的任何特殊含义。例如,命令行:/a\/\//

标签 命令

发表评论

0

没有更多评论了

评论就这些咯,让大家也知道你的独特见解

立即评论

以上留言仅代表用户个人观点,不代表系统之家立场

其他版本软件

热门教程

人气教程排行

Linux系统推荐

扫码关注
扫码关注

扫码关注 官方交流群 软件收录