2024年11月Linux如何使用文本处理工具awk(2)

发布时间:

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

  ⑵~:匹配正则表达式

  ⑶~!:不匹配正则表达式

  ⑷《 《= 》 》= != ==

  ⑸+ - * / & ++ --

  ⑹空格:字符串连接符

  ⑺?:C条件表达式

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

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

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

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

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

  ⒀.条件判断语句(if

  ⒁if(表达式{语句}else{语句}

  ⒂if(表达式{语句}else if(表达式{语句}else{语句}

  ⒃.循环语句(while、for、do while

  ⒄while(表达式{语句}

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

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

  ⒇do{语句}while(条件

  ⒈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{}/‘ testfile

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

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

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

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

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

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

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

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

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