
zip アーカイブがあります。このunzip -l myarchive.zip
コマンドを実行すると、次のリストが表示されます。
top/subtop/files/1.txt
top/subtop/files2/2.txt
etc
ルート フォルダーはすべてのファイルのトップ/サブトップです。2 つのトップ/サブトップ フォルダーなしでこれらのファイルを抽出するにはどうすればよいですか?
たとえば、/home/myuser/public_html ディレクトリにいる場合は、files/1.txt
そのfiles2/2.txt
ディレクトリに直接抽出する必要があります。
試してみましたunzip myarchive.zip top/subtop/*
が、とにかくトップ/サブトップディレクトリが作成されました。
答え1
残念ながら、それはできません。唯一の現実的な選択肢は、抽出後にそれらを移動することです。
答え2
tar
機能があり--strip-components
、zip ファイルを操作できるコマンドを試してみるとよいでしょう。
答え3
JMeter を例に挙げます。
# It's a good idea to set JMETER_HOME.
export JMETER_HOME=/usr/local/jmeter
unzip -q /tmp/apache-jmeter-5.4.1.zip -d $JMETER_HOME
for a in `ls -d -1 $JMETER_HOME/*`; do mv $a/* $JMETER_HOME; rmdir $a; done
シンプルで持ち運びに便利。
答え4
すべての圧縮ファイルを解凍した後、このコマンドを使用してすべてのファイルをルート ファイル ディレクトリにコピーしましたが、うまくいきました。時間を大幅に節約できます。
for /r %f in (00P*) do @copy "%f"
(http://mlichtenberg.wordpress.com/2011/01/25/command-line-fun-how-to-flatten-a-folder-hierarchy/)