Files
將所有文件解壓到同名目錄中
Ubuntu 16.04
我有一個包含
zip
如下文件的目錄:directory | |---zip1.zip |---zip2.zip | ... |---zip_very_large_number.zip
現在,我有另一個目錄
/home/usrname/anotherdir
。有沒有辦法通過以下方式將所有文件解壓縮到/home/usrname/anotherdir
:/home/usrname/anotherdir |---zip1(directory) | |---_FILES_FROM_zip1.zip | |---zip2(directory) | |---_FILES_FROM_zip2.zip | |---zip3(directory) | |---_FILES_FROM_zip3.zip | ... | |---zip_very_large_number(directory) |---_FILES_FROM_zip_very_large_number.zip
有沒有一種簡潔的方法來做到這一點
unzip
?我可以寫一個shell腳本,但它看起來不太好……
沒有捷徑可以做到這一點
unzip
,因為它一次只接受一個 zipfile 進行解壓縮。考慮某種shell循環,例如:for d in *.zip do dir=/home/usrname/anotherdir/zip${d%%.zip} unzip -d "$dir" "$d" done
這是一個適用於目前目錄中任何 zip 的單行
for z in *.zip; do unzip "$z" -d "${z%".zip"}"; done
您可以將其添加到您的
.bashrc
alias unzip_all='for z in *.zip; do unzip "$z" -d "${z%".zip"}"; done'
靈感來自:
Method #2: Unzipping Multiple Files from Linux Command Line Using Shell For Loop (Long Version)
在https://www.cyberciti.biz/faq/linux-unix-shell-unzipping-many-zip-files/