【问题标题】:Bash AWK, get first and second output (int)Bash AWK,获取第一个和第二个输出(int)
【发布时间】:2016-04-06 22:44:21
【问题描述】:

我有一个脚本,我将分数写入一个名为 log.txt 的文件

在这个文件中,我这样保存乐谱:(数字 1 只是一个例子)

Won: 1
Lose: 1

我已经编写了这个 AWK 命令:

gameswon=`awk -F : '{print $2}' "$file"`

它给了我这个结果:

1 1

如何将第一个数字保存为“赢” 而第二个“输”的号码

希望有人能帮助我

【问题讨论】:

  • 这种简单的输出真的有必要使用图像吗?不能只粘贴一行文字吗?
  • 你是对的@Barmar

标签: bash shell awk


【解决方案1】:

您可以使用bash array

gameswon=($(awk -F: '{print $2}' "$file"))
won=${gameswon[0]}
lose=${gameswon[1]}

这会将awk -F: '{print $2}' "$file" 的输出放入数组$gameswon

【讨论】:

    【解决方案2】:

    您可以在进程替换中使用带有少量修饰符 awk 的 read

    read -r won lose < <(awk -F : '$1 ~ /^(Won|Lose)$/{printf "%s ", $2+0}' "$file")
    

    【讨论】:

      猜你喜欢
      • 2017-05-17
      • 1970-01-01
      • 1970-01-01
      • 2016-03-21
      • 1970-01-01
      • 1970-01-01
      • 2015-01-18
      • 2021-12-11
      • 1970-01-01
      相关资源
      最近更新 更多