Bash AWK,获得第一个和第二个输出(int)



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

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

Won: 1
Lose: 1

我写了这个AWK命令:

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

它给了我这样的结果:

1 1

如何将第一个数字保存为"won"第二个"丢失"的数字

希望有人能帮助我

您可以使用bash数组:

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

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

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

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

相关内容

最新更新