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?