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.