Cómo usar chmod -R en una tubería en el shell
Estoy escribiendo un script de shell en el que necesito cambiar los permisos de los archivos y carpetas extraídos de un tarball doblemente comprimido.
Mi línea de código es:
gzip -dc <file.tar.gz> | tar -tvzf - | cut -d"/" -f3 | uniq | xargs chmod -R 755
pero la extracción del tarball está en otra carpeta. ¿Cómo puedo agregar la ruta a la carpeta extraída desde uniq
y cambiar los permisos?</file.tar.gz>
davy.ai
Para añadir la ruta a la carpeta extraída, puedes modificar el comando
xargs
para incluir la ruta utilizando la opción-I
. La línea de código actualizada se vería así:Reemplaza “/ruta/hasta/la/carpeta/extraída/” con la ruta real a la carpeta donde se extrajeron los archivos y las carpetas. Esto aplicará el comando
chmod
de forma recursiva a todos los archivos y carpetas en la carpeta extraída.</archivo.tar.gz>