我想下载一个文件,解压缩并重命名该文件夹。
我可以下载文件并用
解压缩curl https://s3.amazonaws.com/sampletest/sample.tar.gz | tar xz
如何在同一命令中重命名文件夹?
curl https://s3.amazonaws.com/sampletest/sample.tar.gz | tar xz | mv ???????
我不想在命令中明确使用文件夹名称。
答案 0 :(得分:4)
这是可能的,但不是微不足道的。如果您的tar(例如GNU Tar)支持它,则可以更轻松地创建自己的目录,cd,然后将--strip-components 1
或--strip-path 1
传递给tar
。
File name transformations:
--strip-components=NUMBER strip NUMBER leading components from file
names on extraction
--transform=EXPRESSION, --xform=EXPRESSION
use sed replace EXPRESSION to transform file names
答案 1 :(得分:3)
如果您的系统未安装GNU tar
,则可能仍有pax
(POSIX工具)可用。后者支持-s
选项,该选项允许对已处理文件的路径名进行任意更改。
curl https://s3.amazonaws.com/sampletest/sample.tar.gz | gunzip | pax -r -s "/old/new/"