1 votos

¿Cómo usar "find" para listar todos los archivos excepto los que están bajo .git?

Quiero encontrar una lista de archivos (sin directorios) excluyendo los que están bajo .git

Estoy probando algunas sugerencias find sintaxis a lograr como se sugiere en esta pregunta del SO:

http://superuser.com/questions/397307/how-to-ignore-certain-filenames-using-find

Esto es lo que intenté

find . -type f ! -name '*.git*' 

find . \( -type f  -prune -o \! -name '*git*' \)
find . \( -type f  -prune -o \! -name *git* \)
find . \( -type f  -prune -o ! -name *git* \)

Pero la salida siempre contiene archivos en .git . Aquí hay una lista parcial

.
./.coveragerc
./.DS_Store
./.git/.DS_Store
./.git/COMMIT_EDITMSG
./.git/config
./.git/FETCH_HEAD
./.git/HEAD
./.git/hooks
./.git/hooks/disable-commit-msg
./.git/hooks/pre-push
./.git/hooks/prepare-commit-msg
./.git/index
./.git/info
./.git/info/exclude
./.git/info/refs
./.git/logs
./.git/logs/HEAD
./.git/logs/refs
./.git/logs/refs/heads
./.git/logs/refs/heads/1312

La versión OS X es El Capitán, y estoy usando zsh . find se encuentra en /usr/bin

¿Es un OS X find ¿Asunto? Si es así, ¿cómo puedo lograr el resultado deseado?

EDITAR

Intenté este comando

find . \( -type d -name '.git' -o -type f  \)  -prune

y está más cerca de lo que quiero. Sin embargo en la salida todavía puedo ver la carpeta .git

1voto

yoliho Puntos 340

La respuesta aceptada no es correcta, pero con un comentario se inicia.

Para no obtener archivos html

find . -type f   ! -name '*.html'

-El nombre se ve en la parte del archivo del camino para todo el camino que necesitas

find . -type f  ! -wholename '*/.git/*' ! -name '*.html'

Así que sólo consigue los archivos (-type) ignora el directorio .git - nota que necesitas introducir los delimitadores del directorio y el . o si no eliminas los archivos como .gitconfig que son válidos

OK esto se ve en todos los archivos -prune puede parecer menos pero la velocidad probablemente no importa es mejor como en todo el código para obtener una cosa comprensible de trabajo primero

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X