tar все файлы в каталог - PullRequest
       9

tar все файлы в каталог

0 голосов
/ 01 апреля 2012

Следующее извлечет файлы в / 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 может измениться.

1 Ответ

2 голосов
/ 01 апреля 2012

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

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 \;
...