awk正则表达式为一个精确长度的字符串,以“:”结尾

时间:2010-11-16 14:35:08

标签: regex bash awk

我无法正确使用正则表达式:

awk '$6 ~ /:${14}/ {print $6}' file

如果长度为15个字符并以“:”结尾,我需要打印出第6个字段。

以下是一个示例:oAFKq7XS001224:

2 个答案:

答案 0 :(得分:1)

怎么样:

awk '$6 ~ /^.{14}:$/ { print $6 } ' file

答案 1 :(得分:1)

您需要将--posix用作:

awk --posix '{ if ($6 ~ /^.{14}:$/) print $6}' file

Command in action

来自awk手册页:

  

仅限间隔表达式   可用 - posix 或   在命令行中指定了 - re-interval