2012-04-01 3 views
0

次のファイルは/ root /ディレクトリに展開されます。しかし、ルートの下に親ディレクトリも作成します。私に必要なのは、ファイルが正確に、ルートフォルダの下にあるべきであるということであるとないで/ルート/データ/ mysqlの/ ...すべてのファイルをディレクトリにtar

# 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 \; 
関連する問題