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!