Ich möchte alle Zeilen aus einer Textdatei in Linux ziehen, die eine bestimmte Zahl (in diesem Fall 9913) in einer bestimmten Spalte (Spalte 4) enthalten . Dies ist eine tabulatorgetrennte Datei, daher nenne ich das eine Spalte, obwohl ich mir nicht sicher bin.Linux - Setzen von Zeilen, die eine Zeichenfolge in einer bestimmten Spalte in einer neuen Datei enthalten
In einigen Fällen gibt es nur eine Zahl in Spalte 4, aber in anderen Zeilen gibt es mehrere Zahlen in dieser Spalte (z. B. 9913; 4444; 5555). Ich möchte Zeilen erhalten, für die in der 4. Spalte die Nummer 9913 erscheint (ob es die einzige Nummer oder eine Liste ist). Wie lege ich alle Zeilen, die in Spalte 4 die Nummer 9913 enthalten, in eine eigene Datei? Hier
ist ein Beispiel dafür, was ich versucht habe:
cat file.txt | grep 9913> NEWFILE.TXT
Ergebnis ist eine Mischung aus den folgenden:
CDR1as CDR1as ENST00000003100.8 9913 AAA-GGCAGCAAGGGACUAAAA (Dateien, die ich will)
CDR1as CDR1as ENST00000399139.1 9606 GUCCCCA .. .............. (Datei ex. Ich will nicht)
Ich erhalte keine Ergebnisse beim Aufruf einer bestimmten Spalte. Von dem Helfer unten gezeigt, erkennt der Code die Spalten nicht, die ich denke, und ich bekomme leere Dateien, wenn ich awk benutze.
awk '$ 4 == "9913"' file.txt> newfile.txt
gibt mir keine Übertragung von Daten in eine neue Datei.
Dank
Zeigen Sie, was Sie bisher versucht haben. –
Doppelte Eingabe - http://stackoverflow.com/questions/2957094/only-print-lines-where-the-second-field-matches-some-criteria –
möchten Sie den zweiten Fall (ex. 9913; 4444; 5555) auch ausgewählt werden? Was ist Ihr Feldtrennzeichen? – karakfa