2012-04-01 2 views
0

Следующие файлы будут извлечены из каталога/root /. Но он также создает родительские каталоги под 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

Извлечь все в каталог temp с полным путем, а затем просто перемещать его в нужное место?

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 \; 
Смежные вопросы