awk 正则表达式用于以“:”结尾的精确长度的字符串

发布于 2024-10-02 22:38:32 字数 172 浏览 6 评论 0原文

我只是无法得到正确的正则表达式:

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

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

这是一个示例:oAFKq7XS001224:

I just can't get the regex right:

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

I need to print out the 6th field if it's 15 characters long and ends with a ":".

Here's an example: oAFKq7XS001224:

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一身骄傲 2024-10-09 22:38:32

您需要将 --posix 用作:

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

实际命令< /a>

来自 awk 手册页:

区间表达式仅
如果 --posix
--re-interval 在命令行上指定。

You need to use --posix as:

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

Command in action

From awk manual page:

Interval expressions are only
available if either --posix or
--re-interval is specified on the command line.

日记撕了你也走了 2024-10-09 22:38:32

怎么样:

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

What about:

awk '$6 ~ /^.{14}:$/ { print $6 } ' file
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文