man 7z
ページには次のように書かれています:
-i[r[-|0]]{@listfile|!wildcard} Include filenames
!
を明示的に指定する必要があります ファイル名の前に単一引用符を付けて、bash 展開からスイッチを保護します:7z x '-i!Windows/System32/BootRec.exe' winRE.wim
[email protected]:~$ 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
(e
機能文字:7z e '-i!Windows/System32/BootRec.exe' winRE.wim
.)
ところで、-i
を保護しないと オプションを一重引用符で囲んだり、二重引用符で保護したりすると、エラーが発生します:
[email protected]:~$ 7z x "-i!Windows/System32/BootRec.exe" winRE.wim
bash: !Windows/System32/BootRec.exe: event not found