以下将解压缩/ root /目录中的文件。但它也会在root下创建父目录。我需要的是文件应该完全在根文件夹下,而不是在/ root / data / 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可能会改变。
答案 0 :(得分: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 \;