我有一个具有相同内部文件夹结构的.tar.gz文件列表,我想批量gunzip |在分隔的文件夹中解压缩它们中的单个文件.
logs_2013-08-01.tar.gz
logs_2013-08-02.tar.gz
logs_2013-08-03.tar.gz
logs_2013-08-04.tar.gz
logs_2013-08-05.tar.gz
我知道解压单个文件的命令是
tar -xvf {tarball.tar} {path/to/file}
tar -xvf logs_2013-08-01.tar.gz -C 2013-08-01/ /var/logs/audit
但我怎么能循环来解决一切呢?
你可以尝试这个(在Linux / bash上测试):
for pkg in logs_*.tar.gz; do where="${pkg#logs_}" where="${where%.tar.gz}/" [ -d "$where" ] || mkdir "$where" tar zxfv $pkg -C "$where" /var/logs/audit done
简单地说,你遍历当前dircetory中的所有tgz档案,然后从名称中取出“date”部分,创建所需目录并最终提取它们.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。