Bergantung pada bagaimana file zip dibuat, kadang-kadang ia akan mengekstrak semua file secara langsung, dan kadang-kadang akan mengekstrak file ke dalam subdirektori.
Jika yang terakhir ini benar, bagaimana saya bisa memaksa unzip
perintah untuk "mengabaikan" direktori tingkat pertama itu?
Contoh:
cd /tmp
wget http://omeka.org/files/omeka-1.5.1.zip
mkdir omeka
unzip omeka-1.5.1.zip -d omeka/
cd omeka/
ll
Yang saya dapatkan adalah /tmp/omeka/omeka-1.5.1/
:
total 12
drwxr-xr-x 3 root root 4096 2012-05-08 18:44 ./
drwxrwxrwt 6 root root 4096 2012-05-08 18:44 ../
drwxr-xr-x 5 root root 4096 2012-04-20 14:54 omeka-1.5.1/
Yang saya inginkan adalah file yang diekstraksi /tmp/omeka/
, (satu tingkat dan tidak ada nomor versi yang termasuk dalam struktur direktori)
/tmp/omeka/(files)
Saya tahu saya bisa menggunakan -j
opsi untuk "jalur sampah" tetapi saya ingin mempertahankan struktur subdirektori, hanya saja bukan struktur direktori tingkat atas. Bagaimana saya bisa melakukan ini?
/wordpress/
direktori (tidak ada nomor versi) di dalam file zip. Memang baik untuk itu unzip
dan kemudian, mv
tetapi tidak memiliki kontrol ini dan harus melakukannya dalam dua langkah selalu membuat saya sedikit gugup. Untungnya Wordpress juga masuk dalam .tar.gz
citarasa :)
cd /tmp/omeka && ln -s -T . omeka-1.5.1
mv
file-file, tetapi saya ingin melihat apakah ada cara untuk melakukan ini langsung dari perintah unzip