GNU/Linux >> Tutoriales Linux >  >> Linux

¿Grep para cadenas múltiples en archivos y luego listar los archivos en orden de tamaño?

Estoy en una carpeta con muchos .txt archivo, me gustaría encontrar todos los archivos que contienen tanto stringA y stringB (no necesariamente en la misma línea), luego enumere estos archivos en orden de tamaño (de pequeño a grande)

He intentado lo siguiente, pero no funciona:

ls -lS | for f in *; do grep -q stringA $f && grep -l stringB $f; done

¿Alguien tiene una buena idea?

Respuesta aceptada:

Puedes usar GNU find :

find . -maxdepth 1 -exec grep -q stringA {} ; -exec grep -q stringB {} ; 
        -printf '%10s %pn' | 
    sort -n

Linux
  1. Encuentra archivos y directorios en Linux con el comando de búsqueda

  2. Cómo buscar archivos grandes en la consola

  3. ¿Grep Word dentro de un archivo y luego copia el archivo?

  4. ¿Tubo a múltiples archivos en el Shell?

  5. ¿Cómo encontrar múltiples cadenas en archivos?

Cómo buscar múltiples cadenas, patrones o palabras

Cómo encontrar una cadena o palabra específica en archivos y directorios

Cómo hacer Grep para múltiples cadenas y patrones

Cómo encontrar recursivamente y enumerar los archivos por fecha en Linux

Encuentre múltiples archivos y cámbieles el nombre en Linux

Búsqueda de una cadena en varios archivos en Linux