Ich habe eine Frage über for-Schleife in Bash Ich möchte awk Befehl für einen bestimmten Bereich um 34 erhöhen, aber ich weiß nicht, wie zwei Variablen in einer for-Schleife angeben. Ich weiß, wie man es für eine Variable macht, aber es funktioniert nicht für zwei. dies ist mein Code für eine Variable:Verwenden Sie für Schleife mit zwei Variable
#!/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
aber ich möchte beide Variablen angeben ($ a, $ b), so etwas wie dieses, das funktioniert nicht! : Wenn Sie eine Schleife über zwei Variablen
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
Danke,
also was wollten Sie nur die awk Codes mit a, b erweitert drucken? Oder möchten Sie, dass die awk-Codes ausgeführt werden? – Kent
Mein letztes Ziel ist es, den awk Code für den Bereich zwischen 1 bis 3400 mit dem Bereich auszuführen, für den ich keine Lösung finden konnte. Also habe ich versucht, es auszudrucken und die Ausgabe mit && in der Mitte jedes awk auszuführen! Aber meine erste Frage betrifft das Hinzufügen von zwei Variablen in einer for-Schleife. Ich bin nicht sicher, ob ich eine andere Frage öffnen sollte oder nicht? – user3576287
Können Sie ein Beispiel geben, um zu erklären, was Sie wollen? Sehr wahrscheinlich warst du auf einem falschen Weg. Sie könnten kleinere 'a'' b' und 'step' verwenden, um die Frage zu vereinfachen. – Kent