GNU/Linux >> Znalost Linux >  >> Linux

Jak mohu vyhledat soubor podle jeho názvu a částečné cesty?

Předejte * zástupný znak pro označení shody pro cokoli . Je také nutné kódovat * s, např.:

find . -path \*content/docs/file.xml

nebo uzavřete vzor do uvozovek, např.:

find . -path "*content/docs/file.xml"

Jak to popisuje manuálová stránka:

$ najít. -name *.c -print

find:cesty musí předcházet výraz

To se děje, protože *.c byl rozšířen shellem a výsledkem je, že infind ve skutečnosti přijímá příkazový řádek takto:

najít . -name bigram.c code.c frcode.c locate.c -print

Ten příkaz samozřejmě nebude fungovat. Namísto toho, abyste dělali věci tímto způsobem, měli byste uzavřít vzor do uvozovek nebo uniknout zástupnému znaku:

$ najít. -name \*.c -print


find má -path (nebo ekvivalentní, ale méně přenosné -wholename ) možnost find $top_dir -wholename *string*

find /usr -path *in/abiw*

>/usr/bin/abiword

find . -type f | grep "content/docs/file.xml"

nebo jen

locate content/docs/file.xml

Linux
  1. Jak vyhledávat a odstraňovat adresáře rekurzivně v systému Linux

  2. Jak najít soubor v Linuxu

  3. Jak smazat soubor s tímto názvem na linuxu:-]???????q

  1. Jak odstranit soubor s podivným názvem?

  2. Jak mohu najít nejstarší soubor ve stromu adresářů

  3. Jak mohu vytisknout obsah místo názvu souboru pomocí příkazu linux find?

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

  2. Jak zjistit typ souboru Img a připojit jej?

  3. Jak najít částečnou cestu k adresáři?