Bash: ¿Cómo chown de dos extensiones de archivo en una línea?


2

¿Cómo puedo combinar estas dos líneas en una línea?

chown abc:abc *.sh

chown abc:abc *.txt

Cambiar la propiedad de dos extensiones de archivo en un forro.

Respuestas:


6

Me gusta esto:

chown abc:abc *.txt *.sh

O si realmente quieres ser elegante:

chown abc:abc *.{txt,sh}

2
+1, aunque "fantasía" sería algo así como find . \( -name '*.txt' -or -name '*.sh' \) -maxdepth 0 -print0 | xargs -0 chown abc:abc {} ';' :-)

1
@paxdiablo: no, estás confundiendo la fantasía con el demente (bueno, sí, soy culpable de usar abominaciones así, pero estoy demente, así que está bien).
Chris Eberle

Tenga en cuenta que la sintaxis de la llave no es portátil al shell Bourne básico.
tripleee

Me doy cuenta de que podría ser a propósito, pero la versión de find + xargs es demasiado complicada. En particular, xargs -r0 chown abc:abc Al final es bastante suficiente.
tripleee

@triplee: ¿qué hace -r en xargs? Los xargs de Darwin no tienen esa opción ...
w00t
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.