Tôi có một tập tin nén như thế myArchive123.tar.gz
. Bên trong nó chứa một thư mục nhưhelloWorld
Nếu tôi giải nén nó: tar -xf myArchive123.tar.gz
tôi nhận được helloWorld
thư mục:
ls
myArchive123.tar.gz
helloWorld
Tôi muốn đầu ra có cùng tên với tên tệp trừ phần mở rộng .tar.gz. I E:
tar <magic paramaters> myArchive123.tar.gz
ls
myArchive123.tar.gz
myArchive123
cd myArchive123
ls
helloWorld
Điều này có thể được thực hiện?
- Tôi không bao giờ biết những gì bên trong kho lưu trữ. Có thể là một thư mục, có thể là nhiều tập tin.
- Tôi sẽ ổn khi sử dụng một công cụ khác nếu tar không thể làm được.
- Tôi sẽ ổn với một hình thức dài hơn có thể được chuyển thành một kịch bản
EDIT
Trong thời gian đó, tôi đã hack cho mình một kịch bản dường như hoàn thành công việc. (xem câu trả lời được đăng của tôi dưới đây). Nếu nó có thể được cải thiện, xin vui lòng gửi bình luận / câu trả lời bổ sung. Điều chính là nó nên được đóng gói thành một lớp lót như:
extract <file>