GNU/Linux >> Znalost Linux >  >> Linux

Najít vyloučený adresář?

Používám Linux (Ubuntu) a chtěl bych vyloučit určité adresáře (jako .hg), když dělám

find | less  

Pokusil jsem se následujícím způsobem vyloučit adresář .hg ze seznamu, ale zdá se, že to nefunguje.

find -type d ( ! -iname .hg )
find -type d ( ! -name .hg )
find -type d ( ! -iname .hg )

Jak vyloučím .directory v příkazu find

Přijatá odpověď:

Při hledání podobného find řešení Objevil jsem užitečné vysvětlení na téma Jak používat možnost „-prune“ pro „najít“ v sh? od Laurence Gonsalvese.

Můžete použít něco jako:

find . ( -type d -name .hg -prune ) -o ( -type f -name "foo" -print )

nebo (bez názvu)

find . ( -type d -name .hg -prune ) -o ( -type f -print )

(escaped) závorky ( a ) seskupte testy (type a name ) a odpovídající akce (prune a print , respektive) společně vlevo a vpravo od OR (-o ).

Od -o má nižší prioritu než vedle sebe, můžete závorky vynechat, pokud chcete. Mnoho find implementace také umožňují přeskočit poslední -print .

find . -type d -name .hg -prune -o -type f -name "foo" -print

Linux
  1. Jak vyloučit adresář v find . příkaz

  2. Najděte a přejmenujte adresář

  3. Jak najít adresář Hadoop hdfs v mém systému?

  1. rekurzivní grep:vyloučení konkrétních adresářů

  2. Nalezení adresáře v linuxovém terminálu

  3. Jak zajistím, aby hledání vyloučilo složku, ve které hledá?

  1. Kopírovat prvních N souborů do jiného adresáře?

  2. Najděte soubor a poté cd do tohoto adresáře v Linuxu

  3. bash najít adresáře