Как создать архив плоских смол - PullRequest
10 голосов
/ 04 февраля 2011

my tree команда возвращает

tmp
`-- t
    `-- e
        |-- 23.ps
        `-- s
            |-- adsf.ps
            `-- t
                `-- dupa.ps

Как мне создать архив ps.tar.gz в каталоге tmp со следующей структурой:

tmp
|-- ps.tar.gz
|   |-- 23.ps
|   |-- adsf.ps
|   `-- dupa.ps
`-- t
    `-- e
        |-- 23.ps
        `-- s
            |-- adsf.ps
            `-- t
                `-- dupa.ps

?

Ответы [ 2 ]

11 голосов
/ 10 августа 2011

для GNU tar вы можете использовать аргумент --xform. Он принимает выражение sed и применяет его к каждому имени файла. Поэтому для удаления всех символов до последнего / вы можете использовать:

tar -c --xform s:^.*/:: your-files
4 голосов
/ 04 февраля 2011
outfile=$(pwd)/ps.tar;find . -type f | while read file; do 
    tar rf $outfile -C $(dirname $file) $(basename $file)
done
gzip $outfile
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...