为了从给定文件夹中提取单个 .Z 文件,我uncompress file.Z
在终端中使用它,它工作得完美无缺。如果在同一文件夹中,我想提取我使用的所有 .Z 文件uncompress "*.Z"
或uncompress '*.Z'
或uncompress \*.Z
.但他们都给出了同样的错误:
gzip: *.Z: No such file or directory
(在那里我使用了各种形式的引号只是为了表明引号不应该成为问题)。
如果我使用每个文件的“扩展”扩展名,即file.fitz.Z
.如何解压缩所有 .Z 文件?出了什么问题?
PS:这已经发布在 SO 上,但还没有运气(虽然我无法想象这个问题那么难回答)。
答案1
看起来您尝试过的所有内容都在转义特殊字符,*
导致它被按字面解释而不是通配符。
尝试使用这个代替:
uncompress *.Z
"*.Z"
双引号将保留字面值*
将字符括在双引号 ('"') 中会保留引号内所有字符的字面值,但 '$'、'`'、'\' 和启用历史扩展时的 '!' 除外。
'*.Z'
单引号将保留所有内容的字面值
将字符括在单引号 (''') 中可保留引号内每个字符的字面值。单引号之间不能出现单引号,即使前面有反斜杠也是如此。
\*.Z
转义符(反斜杠)也将保留字面值*
不带引号的反斜杠 '\' 是 Bash 转义字符。它保留后面的下一个字符的字面值,换行符除外。