如何在for循环中将sed命令的2p替换为变量i的值?
修改后的Shell脚本
count1=0 for i in 2 3 4 5 6 7 8 9 10 11 do var=$(cut -d '-' -f4 participantes | sed -n "${i}p") echo $var count1=$((count1 + var)) done echo $count1
关键修改说明
- 将sed命令中的固定行号
2p替换为${i}p,循环变量i的值会在每次迭代中自动替换到sed命令里,实现动态获取对应行的内容 - 去掉了多余的
cat命令,直接让cut读取participantes文件,减少不必要的管道开销(属于可选优化,不影响核心功能) - 用
$((count1 + var))替代老旧的expr命令,这是Bash中更简洁高效的算术运算方式
内容的提问来源于stack exchange,提问作者Leo1989
相关产品推荐
相关产品推荐

