You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从每行含多个变量的文件中读取变量?

Bash读取每行内容并赋值给多个变量

嘿,我来帮你搞定这个问题!你根本不需要那个内层循环,read命令本身就支持直接把一行的内容拆分到多个变量里,特别适合你的场景。

直接看改进后的代码,完美匹配你的需求:

while read var1 var2 var3; do
    # 这里可以替换成你实际要执行的操作
    echo "处理行:第一个值是*$var1*,第二个是*$var2*,第三个是*$var3*"
    # 比如你可以做计算:sum=$((var1 + var2)),或者写入其他文件等
done < ./test.txt

为什么这样可行?

  • read var1 var2 var3会自动把读取到的一行内容,按空白字符(空格、制表符都算)分割成三个部分,分别赋值给var1、var2、var3,完全符合你的test.txt每行3个值的格式。
  • 如果某行的字段数意外超过3,多余的内容会全部归到最后一个变量(比如一行是1 2 3 4,那var3会是3 4);要是字段数不足3,对应的变量会被设为空字符串,你可以根据需求加判断处理这种情况。

对比你原来的代码,这种方式不仅更简洁,还直接实现了你要的“把3个值分别赋值给变量再操作”的需求,不用再逐个遍历字段啦。

内容的提问来源于stack exchange,提问作者Miha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:46:09