【问题标题】:Is there a better way to write awk with pipes?有没有更好的方法用管道编写 awk?
【发布时间】:2013-08-01 17:30:14
【问题描述】:

我在带有终端和 Zsh 的 Mac OsX 下。我使用这个命令:

awk '/download/ {print $2}' | awk 'NR==1' | awk -F"//" '{print $2}'

有没有更好的方法来只用一个 awk 编写所有 awk?

【问题讨论】:

  • “管”?你的意思是|?那是一个管道。
  • 是的,管道!对不起(管在法国是管..)

标签: macos syntax awk terminal zsh


【解决方案1】:

这应该是你所追求的:

$ awk '/download/{split($2,a,"//");print a[2];exit}' file

【讨论】:

  • 不客气。在 stackoverflow 上,当您的问题得到回答时,您可以通过单击旁边的勾号标记为已回答。官方用语见stackoverflow.com/help
  • awk '/download/&&NR==1' 不等同于awk '/download/' | awk 'NR==1',因为第一行输入可能不包含字符串“download”。真正的等价物类似于awk '/download/&&(!nr++)'
  • 空白有助于理解:/download/ && NR==1 更具可读性
猜你喜欢
  • 1970-01-01
  • 2019-08-26
  • 2013-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多