如果我選擇一個zip文件並右鍵單擊「解壓縮」,則會創建一個帶有zip文件的文件夾,並將zip文件的全部內容解壓縮到該文件夾中。創建zip文件的文件夾並解壓縮到
但是,我想通過shell轉換幾個zip文件。 但是當我做
unzip filename.zip
的文件夾"filename"
沒有創建,但所有的文件解壓縮到當前目錄。
我看過參數,但沒有這樣的參數。 我也試過
for zipfile in \*.zip; do mkdir $zipfile; unzip $zipfile -d $zipfile/; done
但.zip
延伸的2 $ zip文件和4 $ zip文件必須與SED被刪除。 如果我做
for zipfile in \*.zip; do mkdir sed 's/\.zip//i' $zipfile; unzip $zipfile -d sed 's/\.zip//i' $zipfile/; done
它不工作。
如何正確替換$zipfile
的.zip
擴展名?
是否有比shell腳本更簡單的方法?
謝謝,作品像一個魅力。 – jack
但我不明白爲什麼$ 0包含完整的文件名和$ 1而不是「.zip」擴展名? – jack
@jack我將「.zip」定義爲FS(字段分隔符)。所以001.zip會被分成兩部分「001」和「」。 $ 1是第一個字段。而$ 0是awk中「001.zip」的整行,該字段從1開始計數,而不是0. – Kent