2012-04-01 124 views
0

以下将解压/ root /目录中的文件。但它也会在根目录下创建父目录。我需要的是这些文件应该是完全根文件夹下,而不是在/根/数据/ MySQL的/ ...将所有文件打包到目录

# tar -xvf company_raw_2012-02-22.tgz --directory=/root/ 
data/mysql/company_raw/data_archive_r_20120222.MYD 
data/mysql/company_raw/data_archive_r_20120222.MYI 
data/mysql/company_raw/data_archive_r_20120222.frm 

如果这是不可能的,我怎么写一个程序将这些文件移动到所需的文件夹?

我已经尝试了以下,它确实工作。

--strip-components=3 

但我不知道有多少文件夹会在那里。所以3号可能会改变。

回答

2

将所有内容全部提取到具有完整路径的临时目录中,然后仅将它移动到将文件移动到所需的目标位置?

destdir=/root 
tmpdir=/root/tmp 
rm -rf $tmpdir 
mkdir $tmpdir 
tar xf archive.tar.gz -C $tmpdir 
find -H $tmpdir -type f -exec mv '{}' $destdir \; 
相关问题