首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >命名tar存档与源文件相同

命名tar存档与源文件相同
EN

Stack Overflow用户
提问于 2015-07-28 14:14:15
回答 2查看 135关注 0票数 0

简单地说,我想从一个文件创建一个归档文件,并保留文件名。

代码语言:javascript
运行
复制
File = host1.log
Tar  = Archive_date_host1.tar.gz

我就是这样用的:

代码语言:javascript
运行
复制
find /var/log/TESTIN/ -daystart -mtime 7 -type f | xargs tar -czPf /var/log/TESTOUT/ARCHIVE_$(date +%F)_FILENAMEHERE.tar.gz

“存档”和日期部分我可以做,但有办法抓取文件名并使用它吗?我在谷歌上搜索了一堆,似乎什么都找不到。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-28 14:38:45

看起来,您希望使用每个文件的基名作为输出文件的可变部分,即删除名称和.log后缀的目录部分。试试这个:

代码语言:javascript
运行
复制
find /var/log/TESTIN/ -daystart -mtime 7 -type f | \
xargs -I {} sh -c 'tar -czPf /var/log/TESTOUT/ARCHIVE_$(date +%F)_$(basename {} .log).tar.gz {}'
票数 1
EN

Stack Overflow用户

发布于 2015-07-28 14:32:50

我认为只要find就够了。例如,下面的命令从使用所需命名方案找到的每个文件中创建一个.tar.gz存档。请注意,{}被查找到的文件的名称替换,

代码语言:javascript
运行
复制
find * -type f -exec tar -czf ARCHIVE_$(date +%F)_{}.tar.gz {} \;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31678923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档