如何指定tar最终结构

时间:2018-05-02 13:28:09

标签: linux tar

我有这个结构:

release/folder1/file1
release/folder2/file2
...
release/folderN/fileN

我想在tar文件中包含所有这些文件夹(folder1,folder2 ... folderN)。 关键是我希望这些文件夹位于另一个名为 MYAPP 的目录中的最终tar中,所以当你打开tar时你可以看到:

MYAPP/folder1/file1
MYAPP/folder2/file2
...
MYAPP/folderN/fileN

如何在不重命名原始“release”目录和/或创建新目录的情况下实现此目的。 这可能只是在焦油过程中实现吗?

由于

1 个答案:

答案 0 :(得分:0)

添加

---
output: pdf_document
header-includes:
  - \usepackage{booktabs}
---

```{r pressure, echo=FALSE}

df <- mtcars[1:10, 1:5]

df[1,5] <- paste0("\\underline{", df[1,5], "}")
df[1,1] <- paste0("\\textcolor{red}{", df[1,1], "}")
df[2,2] <- paste0("\\textcolor{green}{\\textbf{", df[2,2], "}}")
# # Equivalent to:
# library(kableExtra)
# df[1, 5] <- cell_spec(df[1, 5], "latex", underline = T)
# df[1, 1] <- cell_spec(df[1, 1], "latex", color = "red")
# df[2, 2] <- cell_spec(df[2, 2], "latex", color = "green", bold = T)

knitr::kable(df, format="latex", booktabs = T, escape = F)

```

--transform=s@^release/@MYAPP/@ 命令行。

tar命令行的参数是一个命令,它在文件路径存储到存档之前与文件路径一起传递给--transform(使用sed显示名称存档在档案中的文件。)

命令tar -tf告诉sed在字符串(s@^release/@MYAPP/@)的开头搜索(srelease/并将其替换为^。< / p>

需要搜索和替换字符串末尾的MYAPP/以确保组件的完整名称为/(不替换release)。 release.txt字符只是一个正则表达式分隔符。通常@用作正则表达式分隔符,但我们更喜欢在此处使用不同的分隔符,以避免需要转义/(因为它用于搜索和替换字符串)。

请阅读tarsed的文档中的详细内容。