GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Finden Sie jede Zeile in VI, die etwas anderes als ATCG enthält

Zunächst einmal möchten Sie die Datei auf keinen Fall in einem Editor öffnen (sie ist viel zu groß, um sie so zu bearbeiten).

Stattdessen, wenn Sie sich nur identifizieren möchten ob die Datei etwas anderes als A enthält , T , C und G , das können Sie mit

tun
grep '[^ATCG]' filename

Dies würde alle Zeilen zurückgeben, die etwas anderes als diese vier Zeichen enthalten.

Wenn Sie löschen möchten diese Zeichen aus der Datei, können Sie dies mit

tun
tr -c -d 'ATCG\n' <filename >newfilename

(ob dies der richtige Weg ist, die Datei zu "korrigieren" oder nicht, weiß ich nicht)

Dadurch würden alle Zeichen in der Datei entfernt, die nicht zu den vier gehören, und es würden auch Zeilenumbrüche (\n ). Die bearbeitete Datei würde in newfilename geschrieben werden .

Wenn es sich um einen systematischen Fehler handelt, der der Datei etwas hinzugefügt hat, dann könnte dies möglicherweise durch sed korrigiert werden oder awk , aber wir wissen noch nicht, wie Ihre Daten aussehen.

Wenn Sie die Datei in vi geöffnet haben oder vim , dann den Befehl

/[^ATCG]

findet das nächste Zeichen im Bearbeitungspuffer, das kein A ist , T , C oder G .

Und :%s/[^ATCG]//g wird sie alle entfernen.


Linux
  1. Suchen Sie nach Textdateien, in denen zwei verschiedene Wörter vorhanden sind (beliebige Reihenfolge, beliebige Zeile)?

  2. Ist es möglich herauszufinden, in welchem ​​Vim/tmux die Datei geöffnet ist?

  3. Befehlszeilenprogramm zum Abrufen von Passwörtern ohne Echo?

  4. Wie können wir ein anderes Passwort als Klartext speichern?

  5. Dateien finden, deren Nummer im Dateinamen größer als ist

So finden Sie die längste(n) Zeile(n) in einer Datei in Linux

Suchen Sie die Datei und wechseln Sie dann in dieses Verzeichnis in Linux

Linux-Löschdatei mit Größe 0

Symbolischer Link:findet alle Dateien, die auf diese Datei verlinken

Wie kann ich eine Datei/ein Verzeichnis finden, das sich irgendwo in der Linux-Befehlszeile befinden könnte?

Stellen Sie sicher, dass ein Cron-Job abgeschlossen wurde