Mam spakowany plik jak myArchive123.tar.gz
. Wewnątrz zawiera folder podobny dohelloWorld
Jeśli go rozpakuję: tar -xf myArchive123.tar.gz
otrzymam helloWorld
folder:
ls
myArchive123.tar.gz
helloWorld
Chciałbym, aby wyjście miało taką samą nazwę jak nazwa pliku minus rozszerzenie .tar.gz. To znaczy:
tar <magic paramaters> myArchive123.tar.gz
ls
myArchive123.tar.gz
myArchive123
cd myArchive123
ls
helloWorld
Czy można to zrobić?
- Nigdy nie wiem, co jest w archiwum. Może to być folder, może być wiele plików.
- Byłbym w porządku, używając innego narzędzia, jeśli tar nie może tego zrobić.
- Byłbym w porządku z dłuższą formą, którą można przekształcić w skrypt
EDYCJA
W międzyczasie zhakowałem sobie skrypt, który wydaje się, że wykonałem zadanie. (patrz moja opublikowana odpowiedź poniżej). Jeśli można to poprawić, prosimy dodawać komentarze / dodatkowe odpowiedzi. Najważniejsze jest to, że powinien on być pakowany w jedno-liniowy materiał, taki jak:
extract <file>