2

フォルダ内にいくつかのzipファイルa.zip b.zipなどがあります。それらを解凍して、次のようなそれぞれのディレクトリに配置したいと思いa,bます。そのためのUNIXスクリプトを提案していただけますか。

4

3 に答える 3

6

それほど難しいことではありません(テストされていません!):

#!/bin/bash

for zip in *.zip ; do
    dir=${zip%.zip}
    mkdir "$dir"
    unzip -rd "$dir" "$zip"
done
于 2012-07-24T10:30:35.327 に答える
1

次のように、UNIXでunzipユーティリティを使用できます。

    #!/bin/bash

    for f in *.zip
    do
        echo "unzipping $f"
        unzip $f -d ${f%.*}
    done

このスクリプトをディレクトリで実行すると、必要に応じてすべてのzipファイルが解凍されます。たとえば、a.zip、b.zipはそれぞれディレクトリaとbに解凍されます。

于 2012-07-24T10:32:10.987 に答える
1

この以前の投稿は、これと同じ機能を実現するのに役立ちました。コンピューターで覚えておくのに役立つスクリプトも作成しました。

$ ls *.zip|awk -F'.zip' '{print "unzip "$0" -d "$1}'|sh

同様に、関数aliasを実行するためのを作成できます。bash

$ alias munzip='for f in *.zip; do unzip -d "${f%*.zip}" "$f"; done'

ドライランの場合は、事前にテストします。

$ alias testmunzip='for f in *.zip; do echo unzip -d "${f%*.zip}" "$f"; done'

他の誰かが同じ効果を探している場合に備えて、この関連情報を1ページにまとめておくと役立つかもしれないと思っただけです。

于 2013-02-19T04:51:36.993 に答える