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
Příkaz pro komprimaci více adresářů do jednotlivých souborů ZIP?
Jak říct Gnome, aby si znovu přečetl ~/.profile?