Warum sieht dieses awk-Skript die Shell-Variable nicht?

Bitte sagen Sie mir, warum dieses Programm nicht funktioniert? hilf mir, es zu verbessern.

for i in $(seq 2 30); do awk '{if ($i < 0.05) print $1,$i}' test.txt > phen_$i.txt; done

Die Datei test.txt sieht folgendermaßen aus:

name    phen1   phen2
rs549   0.02    0.02
rs699   0.03    0.03
rs701   1   1
rs751   0.449   0.449
rs884   1   1
rs923   0.9775  0.02
rs970   0.9836  0.03
rs1085  0.0001  0.99
rs1220  0.9316  0.9316

Es wird erwartet, dass die Ausgabedatei aus zwei verschiedenen Dateien besteht, nämlich phen_2.txt und phen_3.txt, die je nach if-Bedingung col1 und col2 sowie col1 und col3 enthalten.

erwartetes Ergebnis für phen_2.txt:

rs549 0.02
rs699 0.03
rs1085 0.0001

erwartetes Ergebnis für phen_3.txt:

rs549 0.02
rs699 0.03
rs923 0.02
rs970 0.03

bitte hilf!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage