在OS X中,双击X.tgz
将生成一个名为X
的文件夹,将所有文件放入文件夹(文件夹名称跟随.tgz
文件的名称)。
我想在终端做同样的事情。
但是,tar -xvzf /pathtofile/X.tgz
会提取所有文件并将其放入/pathtofile/
。
并且tar -xvzf /pathtofile/X.tgz -C /newpath/
新路径不会自动跟随.tgz文件名(即本例中名为“X”的文件夹)。
有没有人知道是否有一种简单的方法可以做到这一点?
答案 0 :(得分:0)
在tar中使用strip-component标志:
tar --strip-components=1
答案 1 :(得分:0)
这个bash函数执行你要求做的事情,这基本上只是使用没有“.tgz”的文件名创建目录
extract_to_dir () {
filename=$1
dirname="${filename%.*}"
mkdir ./$dirname
tar -xvzf $filename -C $dirname
}
用法是:
extract_to_dir filename.tgz