我有一個關於在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