GNU/Linux >> Znalost Linux >  >> Linux

Grep pro více řetězců v souborech a pak seznam souborů v pořadí velikosti?

Nacházím se ve složce se spoustou souborů .txt soubor, chtěl bych najít všechny soubory, které obsahují jak stringA a stringB (ne nutně na stejném řádku), pak tyto soubory uveďte v pořadí podle velikosti (od malého po velký)

Zkoušel jsem následující, ale nefunguje to:

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

Má někdo dobrý nápad?

Přijatá odpověď:

Můžete použít GNU find :

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

Linux
  1. Najděte soubory a adresáře v Linuxu pomocí příkazu find

  2. Jak hledat soubory podle velikosti a přípony?

  3. Potrubí k více souborům ve skořápce?

  1. Linux – získávání souborů pro aktuální datum v Linuxu?

  2. Jak najít více řetězců v souborech?

  3. Jak získat všechny soubory přesahující určitou velikost a smazat je

  1. Najděte největší soubory a adresáře v Linuxu

  2. Jak zkontrolovat velké soubory v konzole

  3. Grep Word v souboru a pak zkopírujte soubor?