【问题标题】:Using awk to find the 2nd, 3rd and 4th words in a string使用 awk 查找字符串中的第 2、第 3 和第 4 个单词
【发布时间】:2020-06-18 17:33:34
【问题描述】:

如何使用 awk 从字符串中查找第 2、第 3 和第 4 个单词?假设我有一个名为的变量 lineline="this is a random"

我试图弄清楚如何让 awk 将“随机”放入一个新变量中。 我试过了:

threewords=$((echo $line | awk '{$2 $3 $4}'))

但是,这似乎不起作用。 我需要变量threewords 来包含字符串“是随机的”。

【问题讨论】:

  • 试试threewords=$(echo $line | awk '{$2 $3 $4}')
  • 我刚刚尝试过,我只是打印空行。但至少总比错误好

标签: linux bash shell ubuntu awk


【解决方案1】:

您需要print 命令来生成输出。此外,在它们之间放置逗号以在单词之间留出空格。

它应该在$() 内,而不是$(())。后者用于计算算术表达式,而不是命令替换。

threewords=$(echo $line | awk '{print $2, $3, $4}')

【讨论】:

  • 这成功了!非常感谢,太糟糕了,因为我是菜鸟,所以我无法投票。 :(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-24
相关资源
最近更新 更多