非常に単純な正規表現を使用してzipアーカイブの内容を表示しようとしています。これは働きます:
rmorton@Rockette:~$ unzip -l Downloads/WeiDU-Linux-236.zip "*/i386/tolower" "*/i386/weidu" "*/i386/weinstall"
Archive: Downloads/WeiDU-Linux-236.zip
Length Date Time Name
--------- ---------- ----- ----
135308 2013-11-17 21:48 WeiDU-Linux/bin/i386/tolower
774816 2013-11-17 21:47 WeiDU-Linux/bin/i386/weidu
130392 2013-11-17 21:48 WeiDU-Linux/bin/i386/weinstall
--------- -------
1040516 3 files
しかし、次はそうではありません。
rmorton@Rockette:~$ unzip -l Downloads/WeiDU-Linux-236.zip "*/i386/(tolower|weidu|weinstall)"
Archive: Downloads/WeiDU-Linux-236.zip
Length Date Time Name
--------- ---------- ----- ----
--------- -------
0 0 files
何を提供しますか?コマンドラインで正規表現がどのように機能するかについて私が誤解しているのでしょうか、それとも何か明らかな事実を見逃していますか?
答え1
読むマニュアルページ解凍した。正規表現は扱わず、2 つの特殊文字 * と ? のみを記述します。
答え2
-LL
ソースファイルシステムに関係なく、すべてのファイル名を小文字に変換するオプションを使用できます。