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 ?

mike23
sumber

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

ktf
sumber
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