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.