如何从 tarball 中提取所有 .htaccess 文件?

如何从 tarball 中提取所有 .htaccess 文件?

我想从 tarball 中提取所有 .htaccess 文件,我该怎么做?我在手册页中只看到一次提到“包含”,tar它与仅包含某些文件名的选项完全无关。

除了提及所有路径作为参数之外,还有其他选择吗?

答案1

GNUtar 支持“--wildcards”选项。

tar tvfz file.tar.gz --wildcards '*/.htaccess'

答案2

不是一个命令,但这有效:

$ tar -ztvf tarball.tar.gz | grep .htaccess | awk '{print $9}'>files
$ cat files
1/.htaccess
2/.htaccess
$ tar -zxvT files -f tarball.tar.gz 
x 1/.htaccess
x 2/.htaccess

答案3

tar tf tarball.tar.gz | grep '/\.htaccess$' | tar xfT tarball.tar.gz -

答案4

使用帕克斯, POSIX 标准档案公用事业:

pax -r -s ':/\.htaccess:/.htaccess:' -s ':^\.htaccess:.htaccess:' -s ':.::'

(即按原样提取非根.htaccess文件和根文件;抑制所有其他文件).htaccess

相关内容