[RndTbl] Unix command line challenge!

Adam Thompson athompso at athompso.net
Thu Oct 12 10:42:02 CDT 2017

On 2017-10-12 08:59, Kevin McGregor wrote:

> Given a gzipped cpio archive (12 GB!) with files in it like: 
> wwdsvdccb101/root/data/ccb/ccbx/splapp/servers/myserver/tmp/.appmergegen_1347913274622/SPLWeb.ear/h7y1ba/data/xml/CILICEXP.xml 
> wwdsvdccb101/root/data/ccb/ccbx/splapp/servers/myserver/tmp/.appmergegen_1347913274622/SPLWeb.ear/h7y1ba/data/xml/CILTSVTP.xml 
> wwdsvdccb101/root/data/ccb/ccbx/splapp/servers/myserver/tmp/.appmergegen_1347913274622/SPLWeb.ear/h7y1ba/data/xml/C1LOOUPP.xml 
> wwdsvdccb101/root/data/ccb/ccbx/splapp/servers/myserver/tmp/.appmergegen_1347913274622/SPLWeb.ear/h7y1ba/data/xml/CILTTRAL.xml 
> wwdsvdccb101/root/data/ccb/ccbx/splapp/servers/myserver/tmp/.appmergegen_1347913274622/SPLWeb.ear/h7y1ba/data/xml/CILCSSPL.xml 
> wwdsvdccb101/root/data/ccb/ccbx/splapp/servers/myserver/tmp/.appmergegen_1347913274622/SPLWeb.ear/h7y1ba/data/xml/CILTCLGP.xml 
> How can I change the first component of the path to something else without unpacking the entire archive to disk first? Obviously I'll still have to un-gzip and de-cpio the whole 12GB while processing; I just don't want to put the whole thing on disk while I'm changing the path. 
> Any ideas?

sed(1)  :-D 

Seriously, I don't think it's possible. 
Almost all cpio(1)s support the "-r" flag for interactive renaming of
files, but that doesn't sound like it would be fun for you. 
Best I can suggest is pre-create the directory structure you want, then
pre-create a matching tree of symlinks. 

  # mkdir wwdsvdccb202 
  # ln -s wwdsvdccb202 wwdsvdccb101 

  # gunzip file | cpio <magical extract flags> 

then cpio(1) will extract the files under wwdsvdccb202, thinking it's
really under wwdsvdccb101.  If you can't do that in the current
directory, then just fake it: 
  # mkdir /var/data/wwdsvdccb202 
  # ln -s /var/data/wwdsvdccb202 /tmp/wwdsvdccb101 

  # cd /tmp   # gunzip file | cpio <magical extract flags> 

Sorry I can't be of more help :-( 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://muug.ca/pipermail/roundtable/attachments/20171012/95b56f3d/attachment.html>

More information about the Roundtable mailing list