解压文件到当前目录

解压文件到当前目录

我想找到并压缩/归档所有以 .sh 结尾的脚本,所以我写了类似的内容:

touch ~/archive.tar; find ~ -type f -name '*.sh' -exec rvf ~/archive.tar {} \; 

问题是,在我创建一个名为 archive.tar 的存档后,存档不会将文件解压到当前目录,而是解压到从中存档的目录。例如,可以调用存档脚本~/Desktop/wtf/delete.sh,但它将被提取到文件夹中wtf,而不是我当前所在的当前目录中。那么如何编辑我的查找脚本以使所有脚本都采用这种格式 ./filename.sh?

答案1

假设您正在使用GNU tar,您可以说:

tar --transform 's/.*\///' -xzf archive.tgz

这将从文件名中删除直到最后一个斜杠的所有内容。

相关内容