GNU/Linux >> Tutoriales Linux >  >> Linux

Encuentre cualquier línea en VI que tenga algo que no sea ATCG

En primer lugar, definitivamente no desea abrir el archivo en un editor (es demasiado grande para editarlo de esa manera).

En cambio, si solo desea identificar si el archivo contiene algo más que A , T , C y G , puedes hacerlo con

grep '[^ATCG]' filename

Esto devolvería todas las líneas que contengan algo más que esos cuatro caracteres.

Si desea eliminar estos caracteres del archivo, puede hacerlo con

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

(si esta es la forma correcta de "corregir" el archivo o no, no lo sé)

Esto eliminaría todos los caracteres del archivo que no sean uno de los cuatro y también conservaría las líneas nuevas (\n ). El archivo editado se escribiría en newfilename .

Si se trata de un error sistemático que ha agregado algo al archivo, esto podría corregirse con sed o awk , pero aún no sabemos cómo se ven sus datos.

Si tienes el archivo abierto en vi o vim , luego el comando

/[^ATCG]

encontrará el siguiente carácter en el búfer de edición que no sea un A , T , C o G .

Y :%s/[^ATCG]//g los eliminará a todos.


Linux
  1. Cómo encontrar el paquete que proporciona un archivo específico en Linux

  2. ¿Buscar archivos de texto donde existen dos palabras diferentes (cualquier orden, cualquier línea)?

  3. ¿No puede encontrar el archivo para parchear en la línea de entrada 3?

  4. ¿Encontrar la edad del archivo más antiguo en una línea o devolver cero?

  5. ¿Cómo podemos almacenar una contraseña que no sea texto sin formato?

Cómo encontrar las líneas más largas en un archivo en Linux

Encuentre el archivo y luego cd a ese directorio en Linux

Linux eliminar archivo con tamaño 0

enlace simbólico:encuentra todos los archivos que enlazan con este archivo

Verifique que se haya completado un trabajo cron

En Linux, ¿cuál es una forma más rápida que `find` o `diff -r` para ver si algo dentro de un directorio ha cambiado?