Re: Comprimir rutas completas
On Wed, Mar 25, 2009 at 12:12:49PM +0100, Gorka wrote:
>
>
> > On Tue, Mar 24, 2009 at 11:14:38AM +0100, fernandojoseGmail wrote:
> > > Gorka wrote:
> > > > Hola. A ver si me explico correctamente.
> > > >
> > > > Quiero comprimir miles de archivos en rutas de carpetas realmente
> > largas
> > > > y complejas que contienen muchas otras carpetas y archivos que no
> > quiero
> > > > comprimir.
> > > >
> > > > Necesito que se comprima, además de cada archivo la ruta completa
> > donde
> > > > se encuentra, de forma que al final me quede un único .tar.gz con
> > sólo
> > > > los archivos que necesito y no los demás.
> >
> > [...]
> >
> > > > ¿Cómo se puede hacer esto? Gracias.
> > >
> > > man tar
> > > Mira la opción --exclude-from file
> > >
> > > Se me olvidaba...
> > > Para generar el fichero puedes usar un find . -name "*" > fichero
> > > y editarlo para eliminar los ficheros que quieres excluir.
> >
> > También debe emplear la opción -P o --absolute-names.
>
> Hola, Fernando, Pablo, ... y demás listeros.
>
> La opción '--exclude-from file' hace exactamente lo contrario de lo que
> quiero, ya que excluye de la compresión las rutas que aparecen en file.
> Lo que yo necesito sería precisamente '--include-from file', que no existe,
> claro.
>
> Para simularla coloco en file las rutas opuestas, es decir, las que no
> quiero conservar, pero esto supone que tengo que convertir este file
> (resultado del ' find a -name "*" > file'):
>
> a
> a/b
> a/b/QUIERO1
> a/b/c
> a/b/c/QUIERO4
> a/b/NOQUIERO3
> a/b/d
> a/b/d/e
> a/b/d/e/f
> a/b/d/e/f/NOQUIERO8
> a/b/d/e/NOQUIERO7
> a/b/d/e/QUIERO6
> a/b/d/NOQUIERO5
> a/b/QUIERO2
>
> manualmente en este otro (fijaos en que no es simplemente eliminar las
> líneas con los archivos que quiero):
>
> a/b/NOQUIERO3
> a/b/d/e/f
> a/b/d/e/f/NOQUIERO8
> a/b/d/e/NOQUIERO7
> a/b/d/NOQUIERO5
>
> y tras hacer el ' tar -cvzf comp2.tar.gz a --exclude-from file' ya se me
> queda con lo que quiero, que es:
>
> /a/b/QUIERO1
> /a/b/QUIERO2
> /a/b/c/QUIERO4
> /a/b/d/e/QUIERO6
>
> Esta solución es válida, en el sentido de que soluciona el problema, pero me
> pregunto si no habría una mejor.
> Como podeís ver, es más fácil y menos arriesgado tener un fichero de rutas a
> incluir, que uno de rutas a excluir.
> La cosa se ve más clara cuando queremos comprimir miles de archivos y
> descartar millones.
>
Olá.
A decir verdad, creo que no he entendido muy bien lo que quiere
decir.. pero por lo que imagino... usted quiere solamente 'QUIERO?'
no ?
Como he dicho, no estoy seguro de lo que dice.. pero como yo lo veo
, lo que usted quiere es algo como:
1) crear fichero con los archivos/directorios que quiere, es decir,pex:
$ cat > ficheros.txt
/a/b/QUIERO1
/a/b/QUIERO2
/a/b/c/QUIERO4
/a/b/d/e/QUIERO6
^D
2) ahora que ya lo tiene, utiliza el flag -T y :
$ tar -cf backup.tar -T ficheros.txt
Así creará un tar con las rutas que ha puesto en 'ficheros.txt'
Espero que le sirva de algo.
--
Porqué loitar e matar, se podes amar e sonhar
/"\
\ / CAMPANHA DA FITA ASCII - CONTRA MAIL HTML
X ASCII RIBBON CAMPAIGN - AGAINST HTML MAIL
/ \
Reply to: