gpt4 book ai didi

bash - 使用带有两个变量的 for 循环

转载 作者:行者123 更新时间:2023-11-29 09:05:05 59 4
gpt4 key购买 nike

我对 Bash 中的 for 循环有疑问我想针对增加 34 的特定范围运行 awk 命令,但我不知道如何在 for 循环中指定两个变量。我知道如何对一个变量执行此操作,但它不适用于两个变量。这是我的一个变量代码:

#!/bin/bash
for a in {1..3400..34}
do
printf "awk 'NR>=$a&&NR<=$b { if (/^[0-9]/) sum++} END {print "row\t", sum }' file "
done

但是我想指定两个变量($a,$b),像这样的东西是行不通的! :

for a in {1..3400..34} , for b in {35..3400..34}
do
printf "awk 'NR>=$a&&NR<=$b { if (/^[0-9]/) sum++} END {print "row\t", sum }' hydr_dE.txt && "
done

谢谢,

最佳答案

使用 C 风格的 for 循环:

for ((a=1,b=35;a<=3400,b<=3400;a+=34,b+=34)); do
echo ": $a :: $b :"
done

(将具有与 devnull 的答案相同的输出,但在纯 Bash 中)。

当然,在这种简单的情况下,只需执行以下操作即可:

for ((a=1;b=a+34,b<=3400;a+=34)); do
echo ": $a :: $b :"
done

我相信您一定能够弄清楚如何根据您的实际需要对其进行调整。

关于bash - 使用带有两个变量的 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23472104/

59 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com