que tienen una estructura de carpetas como esto (que es un pequeño fragmento):¿Cómo encontrar/grep todas las rutas donde el nombre del directorio coincide con "x" pero no con "y" con * nix?
└── test
└── cases
└── model
├── client
│ ├── socketsTest.coffee
├── server
│ └── socketsTest.coffee
└── shared
└── findersTest.coffee
La pregunta es, ¿cómo usted enumera todos los caminos que terminan en .coffee
y no existen en la carpeta client
?
El siguiente comando devuelve todos los archivos que coinciden con .coffee
que existen en la carpeta server
:
find test -name "*Test.coffee" | egrep '/*server*/'
Pero lo que realmente necesita es una expresión regular que coincide con todo lo excepto lo que hay en la carpeta del cliente.
¿Cuál es la forma más limpia de hacer esto en * nix? El objetivo final es devolver archivos no dentro de una carpeta client
, así que para el árbol por encima de eso sería:
$ <find files except those a client folder>
test/cases/model/server/socketsTest.coffee
test/cases/model/shared/findersTest.coffee
He intentado hacer algo como esto, pero sin suerte:
find test -name "*Test.coffee" | egrep '*model/[^client]*'
impresionante, gracias ! Ambos son nuevos para mí. –