¿Cuál es la sintaxis correcta para:
find . -type f -name \*.\(shtml\|css\)
Esto funciona, pero no es elegante:
find . -type f -name \*.shtml > f.txt && find . -type f -name \*.css >> f.txt
¿Cómo hacer lo mismo, pero con menos pulsaciones de teclas?
bash
find
filenames
file-extension
Dave Jarvis
fuente
fuente
). Second, the parentheses need to go around whole ‘primaries’ (the open parenthesis needs to be before
.css ) ' -name`, no entre él y su' operando ').Aquí hay una forma de hacer tu primera versión:
fuente
Necesita paréntesis para incluir solo archivos:
Bonificación : esta es una sintaxis compatible con POSIX.
fuente
A menudo me encuentro terminando usando egrep, o tuberías más largas, o perl para filtros aún más complejos:
Puede ser algo menos eficiente, pero eso no suele ser una preocupación, y para cosas más complejas suele ser más fácil de construir y modificar.
La advertencia estándar se aplica sobre no usar esto para archivos con nombres de archivo extraños (por ejemplo, que contienen nuevas líneas).
fuente