2012-03-22 13 views
9

Voglio trovare tutti i file/dir che non sono uguali a .git*, quindi ho provato i seguenti comandi, ma ha l'effetto opposto (stampa i percorsi che contengono .git).trova i file non uguali al modello

$ find . ! -name "*.git" 
$ find . ! -name ".*.git" 
$ find . ! -name "*.git*" 
$ find . ! -regex "*.git" 
$ find . ! \(-name "*.git*" \) 

Ho anche provato i comandi precedenti con una fuga \!, come in find . \! -name "*.git".

Q: Qual è la sintassi corretta per find "non uguale a"?

+0

@casperOne, perché questa domanda è considerata off-topic (e down-votata) mentre le domande simili elencate di seguito sono valide? * [Come modifico un messaggio di tag esistente in git?] (Http://stackoverflow.com/questions/7813194/how-do-i-edit-an-existing-tag-message-in-git) * [Usa la pipe dei comandi come argomento per diff] (http://stackoverflow.com/questions/9847479/use-pipe-of-commands-as-argument-for-diff) * [Linux find command gotcha?] (http://stackoverflow.com/questions/2591158/linux-find-command-gotcha) – user46874

risposta

13

Aha! L'ho trovato qui:

$ find . ! -path "*.git*"