GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mengecualikan jalur absolut untuk tar?

Bagi saya, berikut ini yang terbaik:

tar xvf some.tar --transform 's?.*/??g'

--transform argumen adalah regex pengganti untuk sed, yang setiap filepath yang diekstraksi diberi makan. Tidak seperti --strip-components , ini akan menghapus semua informasi jalur, bukan hanya memperbaiki jumlah komponen.


Jika Anda ingin menghapus n komponen utama pertama dari nama file, Anda memerlukan strip-components . Jadi dalam kasus Anda, saat mengekstraksi, lakukan

tar xvf tarname.tar --strip-components=2

Halaman manual memiliki daftar tar banyak pilihan, termasuk yang ini. Beberapa versi tar sebelumnya gunakan --strip-path untuk operasi ini sebagai gantinya.


Anda salah menggunakan -C switch, yang digunakan untuk mengubah direktori. Jadi yang perlu Anda lakukan adalah:

tar -cf tarname.tar -C /www/path path/file1.txt path2/path3/file2.xls

atau jika Anda ingin mengemas semuanya di bawah /www/path lakukan:

tar -cf tarname.tar -C /www/path .

Anda dapat menggunakan -C beralih beberapa kali.


Linux
  1. Jalur Absolut / Kanonik / Relatif?

  2. Cara gzip Direktori di Linux

  3. Cara Mengecualikan Repositori Khusus untuk Pembaruan Yum di CentOS / Red Hat

  1. cara menginstal gui untuk debian

  2. cara membuat arsip multi tar untuk folder besar

  3. Bagaimana cara mengecualikan file dari arsip TAR menggunakan ekspresi reguler?

  1. Cara mengecualikan direktori di find . memerintah

  2. Cara mengekstrak file nama file.tar.gz

  3. Tar direktori, tetapi jangan simpan jalur absolut lengkap di arsip