我有一个关于在Bash循环的问题 我想运行特定范围增加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
感谢,
所以你想要的只是打印awk代码a,b扩展?或者你想要awk代码执行? – Kent
我的最终目标是执行范围在1-3400之间的awk代码,该范围我找不到任何解决方案。所以我试图打印出来,并通过在每个awk中使用&&来运行输出!但我的第一个问题是关于在for循环中添加两个变量。我不确定我是否应该打开另一个问题? – user3576287
你能举一个例子来解释你想要的吗?很可能你错了。你可以使用较小的'a'' b'和'step'来简化问题。 – Kent