请解释以下命令是什么意思:

Qas*_*Qas 0 scripts awk

awk -F'[ ()+:]+' '
Run Code Online (Sandbox Code Playgroud)

我在我的脚本中使用它。在这种情况下,我可以花时间在括号中,例如:

Fri Dec 18 11:13 - 11:15  (00:02)    
Fri Dec 18 09:11 - 19:42 (1+10:31)
Run Code Online (Sandbox Code Playgroud)

但它是如何工作的?有人可以解释我吗?

mur*_*uru 5

awk将输入记录拆分为fields,并使用 Field Separator ( FS) 来执行此操作。该-F选项用于设置FS. 什么时候FS是多个字符时,将其视为正则表达式。

在这种情况下,FS[ ()+:]+

  • [...],称为括号表达式,用于匹配多个字符之一。[ ()+:]表示任何一个空格,括号+:字符。
  • + 在字符或括号表达式等之后,匹配该字符、表达式等中的一个或多个。

因此,该模式表示一个或多个任何空格,括号、加号或冒号。

使用此表达式拆分为字段,您将看到:

  • ) 结束该行意味着最后一个字段为空
  • 1+10:3100:02两者都分开,以便倒数第二个和第三个字段是小时和分钟,因为+:都用于分隔字段。