Bagaimana saya bisa mengekstrak hanya beberapa folder tertentu dari arsip tar.gz?


3

Katakanlah saya punya arsip website.tar.gz, di dalamnya ada struktur folder berikut:

home  
  -mike 
    -www
      -coolwebsite
        file1
        file2
        file3
        etc.

Ketika saya mengekstrak hasil, itu menciptakan ulang hirarki folder yang sama (tentu saja). Saya berharap ada cara untuk mengekstrak, misalnya, hanya folder "situs web keren" ke folder mana pun yang saya masuki saat ini.

Jadi jika saya menggunakan server saya mydir/dan mengekstrak website.tar.gz, saya ingin hasilnya menjadi coolwebsitefolder, tanpa semua folder sebelumnya. Apakah itu mungkin ?

Jawaban:


3

Coba saja ini:

tar xvf berkilau --strip=4 ./home/mike/www/coolwebsite/*

harus dihapus ke 4 level direktori (termasuk ".")

EDIT: tambahkan opsi z (mis. Tar xzvf ...) jika file input gzip 'ed


1
Perintah ini tidak berfungsi untuk saya dengan GNU tar 1.23 (Kesalahan:. tar: ./Symfony/*: Not found in archiveIa berhasil ketika saya menghapus ./bagian dari jalur. Dan ya, saya dapat mengkonfirmasi bahwa direktori tingkat atas di dalam arsip bernama Symfony. Selain itu saya punya untuk menambahkan --wildcardsopsi. Mungkin jawaban ini memerlukan pembaruan?
Hubro

Itu tidak berhasil untuk saya. Namun, dengan tar GNU , saklar berikut bekerja untuk saya: --strip-components=4.
Tristan Jahier
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.