7-Zipを使用してアーカイブから特定のファイルを抽出します。

7-Zipを使用してアーカイブから特定のファイルを抽出します。

私はLinux Live CDを実行しており、ディスクドライブ上のwimアーカイブから特定のファイルを抽出する必要があります。アーカイブ内のファイルのフルパスを知っています。

xubuntu@xubuntu:~$ 7z l winRE.wim | grep -i bootrec.exe
2009-08-28 15:02:29 ....A       299008       134388  Windows/System32/BootRec.exe

アーカイブ全体を解凍するのに十分なディスク容量がありません。

アーカイブから特定のファイルをどのように抽出しますか?

このオプションを試しましたが、-i機能しません。

xubuntu@xubuntu:~$ 7z x -i Windows/System32/BootRec.exe winRE.wim 


Error:
Incorrect command line

ベストアンサー1

ページman 7zの内容は次のとおりです。

  -i[r[-|0]]{@listfile|!wildcard}
         Include filenames

ファイル名の前に明示的に!指定し、一重引用符を使用してbash拡張からスイッチを保護する必要があります。7z x '-i!Windows/System32/BootRec.exe' winRE.wim

xubuntu@xubuntu:~$ 7z x '-i!Windows/System32/BootRec.exe' winRE.wim

7-Zip [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)

Processing archive: winRE.wim

Extracting  Windows/System32/BootRec.exe

Everything is Ok

Size:       299008
Compressed: 227817568

(フルパスを維持したくない場合は、機能文字を使用できますe7z e '-i!Windows/System32/BootRec.exe' winRE.wim

ただし、オプションを一重引用符で保護しない場合、または-i二重引用符で保護しないと、エラーが発生します。

xubuntu@xubuntu:~$ 7z x "-i!Windows/System32/BootRec.exe" winRE.wim 
bash: !Windows/System32/BootRec.exe: event not found

おすすめ記事