パスを知っているZIPファイルから単一のファイルを抽出する必要があります。次のようなコマンドがありますか?
unzip -d . myarchive.zip path/to/zipped/file.txt
残念ながら、上記のコマンドはファイルのフルパスを抽出して再生成します./path/to/zipped/file.txt
。ファイルを指定されたディレクトリに簡単にインポートする方法はありますか?
ベストアンサー1
次のオプションを使用すると、テキストのみを標準出力に抽出できます-p
。
unzip -p myarchive.zip path/to/zipped/file.txt >file.txt
これはメタデータ(日付、権限など)を抽出せずにファイルの内容のみを抽出します(明らかに通常のファイルでのみ機能し、シンボリックリンク、デバイス、ディレクトリは機能しません...)。後でファイルを移動する必要がない便利さのために支払う費用です。
または、アーカイブをディレクトリにマウントし、ファイルのみをコピーします。そしてAVFS:
mountavfs
cp -p ~/.avfs"$PWD/myarchive.zip#"/path/to/zipped/file.txt .
またはヒューズジッパー:
mkdir myarchive.d
fuse-zip myarchive.zip myarchive.d
cp -p myarchive.d/path/to/zipped/file.txt .
fusermount -u myarchive.d; rmdir myarchive.d