GNU/Linux >> Znalost Linux >  >> Linux

Rekurzivně vyhledejte soubory s konkrétní příponou

Pomocí find 's -regex argument:

find . -regex '.*/Robert\.\(h\|cpp\)$'

Nebo stačí použít -name :

find . -name 'Robert.*' -a \( -name '*.cpp' -o -name '*.h' \)

find -name "*Robert*" \( -name "*.pdf" -o -name "*.jpg" \)

-o představuje OR stavu a v rámci rovnátek můžete přidat libovolný počet. Takže to říká, že se mají najít všechny soubory obsahující slovo „Robert“ kdekoli ve svém názvu a jejichž názvy končí buď „pdf“ nebo „jpg“.


Jako alternativa k použití -regex možnost na find , protože otázka je označena jako bash, můžete použít mechanismus roztažení výztuhy:

eval find . -false "-o -name Robert".{jpg,pdf}

Moje preference:

find . -name '*.jpg' -o -name '*.png' -print | grep Robert

Linux
  1. Seřadit soubory v konkrétní složce pomocí Ranger?

  2. Najít největší soubory rekurzivně?

  3. Jak odstranit soubory se specifickou příponou v příkazovém řádku Linuxu

  1. Jak najít všechny soubory s velikostí souboru nula (0) bajtů v adresáři rekurzivně

  2. Linux / UNIX :Příklady příkazu find k vyhledání souborů se specifickými sadami oprávnění

  3. Jak najít všechny soubory končící na .rb s Linuxem?

  1. Jak najít všechny soubory s konkrétním nadřazeným adresářem v linuxu?

  2. Vyloučit skryté soubory při hledání pomocí Unix/Linux find?

  3. Jak mohu rekurzivně kopírovat soubory podle přípony souboru a zachovat adresářovou strukturu?