Как заставить эту команду работать из zip-файлов родительского каталога / test.zip $ (tar tf files / test.gz) - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть эта команда:

zip files/test.zip $(tar tf files/test.gz)

Но она не работает, потому что все из $ (tar tf files / test.gz) находится в файлах / Так что zip не может его найти.Он отлично работает, если я изменяю каталог на файлы и исполняю этот:

zip test.zip $(tar tf test.gz)

Но мне нужно, чтобы он работал из родительского каталога.

Моя полная команда:

tar xzf files/test.tar.gz && zip files/test.zip $(tar tf files/test.tar.gz) && rm -r -- $(tar tf files/test.tar.gz)

С Есть ли в Linux какая-либо команда для преобразования файлов .tar.gz в .zip?

Спасибо

1 Ответ

0 голосов
/ 25 сентября 2018

Я бы сделал небольшой сценарий для этого.Если у вас есть много файлов tgz для обработки, вы можете применить к нему цикл.

#!/bin/bash
TMP=/a/tmp/directory
TARGET=/dir/to/your/files
mkdir -p $TMP   
cd $TMP
tar -C $TMP -xzf $TARGET/your.tar.gz && zip $TARGET/your.zip *  
rm -rf $TMP
...