GNU/Linux >> Linux Esercitazione >  >> Linux

Grep per più stringhe nei file e quindi elencare i file nell'ordine delle dimensioni?

Sono in una cartella con molti .txt file, vorrei trovare tutti i file che contengono entrambi stringA e stringB (non necessariamente sulla stessa riga), quindi elenca questi file nell'ordine delle dimensioni (da piccolo a grande)

Ho provato quanto segue, ma non funziona:

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

Qualcuno ha una buona idea?

Risposta accettata:

Puoi usare GNU find :

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

Linux
  1. Trova i file e le directory più grandi in Linux

  2. Come cercare i file per dimensione ed estensione?

  3. Pipe a più file nella shell?

  4. Linux:ottenere file per la data corrente in Linux?

  5. Come trovare più stringhe nei file??

Trova file e directory su Linux con il comando find

Come Grep per più stringhe, pattern o parole

Come trovare una stringa o una parola specifica in file e directory

Come Grep per più stringhe e pattern

Come trovare ed elencare in modo ricorsivo i file per data in Linux

Come ottenere tutti i file che superano determinate dimensioni ed eliminarli