Prima di tutto, sicuramente non vuoi aprire il file in un editor (è troppo grande per modificarlo in questo modo).
Invece, se vuoi solo identificare se il file contiene qualcosa di diverso da A
, T
, C
e G
, puoi farlo con
grep '[^ATCG]' filename
Ciò restituirebbe tutte le righe che contengono qualcosa di diverso da quei quattro caratteri.
Se desideri eliminare questi caratteri dal file, puoi farlo con
tr -c -d 'ATCG\n' <filename >newfilename
(se questo è il modo corretto per "correggere" il file o meno, non lo so)
Ciò rimuoverà tutti i caratteri nel file che non sono uno dei quattro e manterrà anche le nuove righe (\n
). Il file modificato verrebbe scritto in newfilename
.
Se si tratta di un errore sistematico che ha aggiunto qualcosa al file, allora potrebbe essere corretto da sed
o awk
, ma non sappiamo ancora come sono i tuoi dati.
Se hai il file aperto in vi
o vim
, quindi il comando
/[^ATCG]
troverà il carattere successivo nel buffer di modifica che non è un A
, T
, C
o G
.
E :%s/[^ATCG]//g
li rimuoverà tutti.