将文件添加到tar文件时如何更改文件名

nilesh_101

我正在通过运行脚本来创建tar文件。脚本位于文件夹A中。我想将文件附加到tar中。输入文件和tar文件都在文件夹B中。当我将文件追加到现有tar中时,我给出了绝对文件路径,就像在另一个文件夹中一样,当将其追加到tar中时,应该将其重命名为我想要的名称。

例子:

  • 脚本位置: /root/test/A
  • 我要在tar中添加的文件位置: /root/myFolder/B/foo
  • Tar文件位置: /root/myFolder/B/archive.tar

在追加/root/myFolder/B/fooarchive.tar,应将其重命名为bar

我正在尝试此命令,但没有成功:

tar --transform='flags=r;s|/root/myFolder/B/foo|bar|' -cf archive.tar /root/myFolder/B/foo

它正以相同的名称添加文件/root/myFolder/B/foo

Lu

原因是tar自动删除前导/

tar:从成员名称中删除前导“ /”

似乎在执行正则表达式之前将其删除。因此,您还需要删除/模式中的前导

tar --transform='flags=r;s|root/myFolder/B/foo|bar|' -cf archive.tar /root/myFolder/B/foo

或使用-P开关

 -P, --absolute-names
       don't strip leading '/'s from file names

或者,您可以使用切换到files文件夹-C,那么您无需替换路径:

tar --transform='flags=r;s|foo|bar|' -cf archive.tar -C /root/myFolder/B/ foo

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

简短的tar脚本:尝试将今天的日期添加到压缩文件名时出现“找不到命令”

如何遍历目录中的文件并更改路径并将后缀添加到文件名

如何将文件的创建日期批量添加到文件名?

如何将日期添加到 stderr(不是文件名,而是在日志文件中)?

将今天的日期添加到文件名

将时间戳记添加到文件名

bash将文件名添加到别名命令

将文件名添加到计数数据

使用 to_excel 导出时将当前日期添加到文件名的末尾

如何将当前源文件名添加到gulp-header

如何一步一步将前缀复制并添加到文件名?

如果使用Gzip类压缩,如何将文件名添加到存档?

Simulink 'to file - Block' :: 如何将日期/时间添加到文件名

如何将包含目录作为前缀添加到复制的文件名?

如何将目录添加到存储在“$^”变量中的所有文件名

如何根据前缀将文件名添加到字典中?

如何将特定于版本的文件名添加到 Cordova .apk

如何将时间戳添加到文件名并移动它

将CSV文件转换为DataTable时出错将.txt添加到csv文件名

在读取和绑定多个文件时,将“文件名”列添加到表中

如何将播客的发布日期添加到文件名或文件元数据中?

使用Powershell将文件夹名称添加到文件名

将文件夹中的文件名添加到DropDownList。(asp.net)

使用批处理文件中的msqldump将时间戳记添加到文件名

将文件添加到.gitignore中,且文件名带有$?

将文件名添加到合并后的 csv 文件中

awk将提取的前缀从文件添加到文件名

将文件名添加到.csv文件开头的第一列

将列添加到CSV文件,然后在该列中插入文件名