如何从文件中提取值(在特定行和列中)并将其分配给新变量

lig*_*ail 5 linux

我有一个文本文件“a.txt”,它是一个3X4矩阵,结构如下:

1 apple 50 Mary
2 banana 40 Lily
5 orange 34 Jack
Run Code Online (Sandbox Code Playgroud)

我想提取值“40”(第 2 行,第 3 列)并将其分配给一个名为“价格”的新变量。

我试过这个:

awk 'NR == 2 {print $3}' a.txt > price
echo "$price"
Run Code Online (Sandbox Code Playgroud)

但为什么结果是:

0
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?谢谢你。

Gil*_*not 5

要将命令的输出存储在变量中,请使用:

variable=$( commandFooBar )
Run Code Online (Sandbox Code Playgroud)

检查这里

  • 谢谢你。有用。`price=$(awk 'NR == 2 {print $3}' a.txt); 回声 $price` (2认同)
  • 你的资源实际上比 tldp 更好。再次感谢!@吉尔斯奎诺 (2认同)