Solaris
解壓 Solaris 上特定文件夾的內容
我嘗試解壓縮 zip 文件的特定文件夾的內容。我的 zip 文件結構如下所示:
文件夾1
- 文件夾 1_1
- 文件 1_1
文件夾2
文件夾3
文件 1
文件2
我只想解壓縮文件夾 1 的內容。
我嘗試使用:
unzip -d path_to_unzip/ results.zip 'folder1/*'
不幸的是,它創建了一個結構,如:
path_to_unzip/folder1/folder_1_1 等…
如何歸檔以擺脫不必要的文件夾 1?
提前謝謝了!
如何歸檔以擺脫不必要的文件夾 1?
正如伊格納西奧正確指出的那樣,
unzip
不能。我會提出這樣的建議:
TMPDIR=`mktemp -d` || exit 1 unzip -d ${TMPDIR}/ results.zip 'folder1/*' mv ${TMPDIR}/folder1/* path_to_unzip/ rm -r ${TMPDIR}
基本上,由於
mv
單個文件系統上的文件操作是原子的,例如“幾乎”立即執行,因此不會對性能產生真正的影響……前提是您/tmp
與目標路徑位於同一文件系統上。如果不是並且 ZIP 文件很大,則應將其解壓縮到目標文件系統上的臨時文件夾中。在這裡,我們取目標目錄的父目錄:TMPDIR=`mktemp -p path_to_unzip/.. -d` || exit 1