GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo busca archivos que contienen finales de línea de DOS (CRLF) con grep en Linux?

grep probablemente no sea la herramienta que desea para esto. Imprimirá una línea por cada línea coincidente en cada archivo. A menos que quiera, digamos, ejecutar todos 10 veces en un archivo de 10 líneas, grep no es la mejor manera de hacerlo. Al usar find para ejecutar el archivo en cada archivo en el árbol y luego buscar "CRLF" obtendrá una línea de salida para cada archivo que tiene terminaciones de línea de estilo dos:

find . -not -type d -exec file "{}" ";" | grep CRLF

obtendrá algo como:

./1/dos1.txt: ASCII text, with CRLF line terminators
./2/dos2.txt: ASCII text, with CRLF line terminators
./dos.txt: ASCII text, with CRLF line terminators

Utilice Ctrl +V , Ctrl +M para ingresar un carácter de retorno de carro literal en su cadena grep. Entonces:

grep -IUr --color "^M"

funcionará - si el ^M hay un CR literal que ingresaste como sugerí.

Si desea la lista de archivos, desea agregar el -l opción también.

Explicación

  • -I ignorar archivos binarios
  • -U evita que grep elimine los caracteres CR. Por defecto hace esto si decide que es un archivo de texto.
  • -r leer todos los archivos en cada directorio de forma recursiva.

Usando RipGrep:

rg -l \r
-l, --files-with-matches
Only print the paths with at least one match.

https://github.com/BurntSushi/ripgrep


Linux
  1. Busque rápidamente archivos en Linux con el comando de localización

  2. Cómo auditar modificaciones de archivos y ejecuciones de archivos en Linux

  3. ¿Cómo encuentro todos los archivos que contienen texto específico en Linux?

  4. ¿Cómo reemplazar un archivo en jar con línea de comando en Linux?

  5. Vi en Linux:muestra finales de línea ^M para archivos con formato DOS

Sugerencias para enumerar archivos con ls en la línea de comandos de Linux

Cómo encontrar archivos en Linux con el comando Buscar

Linux:Cómo compartir archivos en una red local con guau

Cómo realizar una búsqueda de patrones en archivos usando Grep

Cómo buscar archivos desde la línea de comandos de Linux

Cómo encontrar archivos que contengan una cadena de texto específica en Linux