Filter-out-Werte, die niedriger ist als eine Schwelle aus einer CSV-Datei

Meine CSV-Datei (tab getrennt), und ich versuche, heraus zu filtern, die p-Werte, die größer sind als 0.05 (in einer anderen Weise, ich will, dass die Einträge mit p <= 0.05). Die p-Werte sind in der 7. Spalte, und ich habe versucht, die folgenden:

 awk '$7 <= 0.05 {print $0}' rawFile.csv > filteredFile.csv

Aber das filtern funktioniert nicht, es gibt die Datei ohne Filterung.

Die p-Werte in der column #7 sind so etwas wie dieses: 0.33532935, 0.0, 0.8591287

Ihre Logik gehört innerhalb der geschweiften Klammern
Nein. Das awk-code ist in Ordnung. Können Sie uns einige vollständige Beispiel-input-Zeilen?
CSV file is tab delimited ??!! Sind Sie sicher? CSV steht für Comma Separated Value, also Trennzeichen wird angenommen, dass , standardmäßig. Können Sie uns zeigen, ein Beispiel für eine Datei? Wenn meine Vermutung korrekt ist, müssen Sie möglicherweise awk -F,
versuchen awk '{ print $7 }' rawFile.csv | more um sicherzustellen, dass Sie tatsächlich abrufen der rechten Spalte. Dann spielen Sie mit -F'x' (x als Trennzeichen) und sehen, ob es hilft.
Wenn das file ist tab-getrennt, sagen awk: awk -F '\t' '$7 <= 0.05' raw. Wenn jeder von $1 bis $6 Leerzeichen enthält, dann wirft Sie Ihr Feld Nummerierung, da das Standard-Feldtrennzeichen ist "whitespace".

InformationsquelleAutor TonyGW | 2013-11-18

Schreibe einen Kommentar