bash - how to compress the output of cat command -
the title not @ all, here example of result of cat :
/var/oracle/oradata/db11g/system01.dbf /var/oracle/oradata/db11g/sysaux01.dbf /var/oracle/oradata/db11g/undotbs01.dbf /var/oracle/oradata/db11g/users01.dbf /var/oracle/oradata/db11g/example01.dbf /var/oracle/oradata/jabba/jabba01.dbf /var/oracle/oradata/db11g/control01.ctl /var/oracle/flash_recovery_area/db11g/control02.ctl /var/oracle/oradata/db11g/redo03.log /var/oracle/oradata/db11g/redo02.log /var/oracle/oradata/db11g/redo01.log the cat command gives path files
i need compress files tar.gz
how can it?
as simple workaround, if version of tar not support --files-from option, can use tr produce command line of files.
given:
$ cat files.txt /var/oracle/oradata/db11g/system01.dbf /var/oracle/oradata/db11g/sysaux01.dbf /var/oracle/oradata/db11g/undotbs01.dbf /var/oracle/oradata/db11g/users01.dbf /var/oracle/oradata/db11g/example01.dbf /var/oracle/oradata/jabba/jabba01.dbf /var/oracle/oradata/db11g/control01.ctl /var/oracle/flash_recovery_area/db11g/control02.ctl /var/oracle/oradata/db11g/redo03.log /var/oracle/oradata/db11g/redo02.log /var/oracle/oradata/db11g/redo01.log you can do:
$ cat files.txt | tr '\n' ' ' /var/oracle/oradata/db11g/system01.dbf /var/oracle/oradata/db11g/sysaux01.dbf /var/oracle/oradata/db11g/undotbs01.dbf /var/oracle/oradata/db11g/users01.dbf /var/oracle/oradata/db11g/example01.dbf /var/oracle/oradata/jabba/jabba01.dbf /var/oracle/oradata/db11g/control01.ctl /var/oracle/flash_recovery_area/db11g/control02.ctl /var/oracle/oradata/db11g/redo03.log /var/oracle/oradata/db11g/redo02.log /var/oracle/oradata/db11g/redo01.log then use on command line of tar.
most tar implementations (i believe) not choke on \n in list of files, can directly:
$ tar -c $(cat files.txt) or try:
$ tar -c $(cat files.txt | tr '\n' ' ') of course if tar supports --files-from, use that.
Comments
Post a Comment