Как это?
[root@b se]# wget -cqO - https://github.com/JeffHoogland/moksha/archive/0.1.0.tar.gz | tar -xz --transform=s/moksha-0.1.0/moksha/
[root@b se]# ls
moksha
[root@b se]# ls moksha
ABOUT-NLS config.guess debian Makefile.am
aclocal.m4 config.guess.dh-orig depcomp Makefile.in
AUTHORS config.h.in doc missing
autogen.sh config.rpath enlightenment.pc.in netwm.txt
autom4te.cache config.sub enlightenment.spec.in NEWS
BACKPORTS config.sub.dh-orig INSTALL po
BUGS configure install-sh README
ChangeLog configure.ac intl src
compile COPYING ltmain.sh xdebug.sh
config data m4 x-ui.sh
Из справочной страницы tar
:
--transform=EXPRESSION, --xform=EXPRESSION Use sed replace EXPRESSION to transform file names.
Итак, sed
, вероятно, потребуется чтобы это работало. Хотя, если у вас есть wget
, вероятно, у вас есть и sed
.
IIUC, quieres:
find. -type f -print0 | xargs -0 -r chown <CHOWN_ARGS>
Puede hacerlo simplemente con un find
comando.
Primero, asegúrese de obtener el resultado correcto que desea:
find./ -type f
Si está satisfecho con los resultados:
find./ -type f -exec chown <user>:<group> {} \;