2012-04-01 125 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 \; 
相關問題