在 Linux 上,我tar使用以下命令从存档中提取文件
tar -xC / -f /tarFile.tar someFolder/[HD] video1.mp4
Run Code Online (Sandbox Code Playgroud)
这总是很好,但在文件名包含方括号的情况下则不然。焦油响应是
someFolder/[HD] video1.mp4: not found in archive
Run Code Online (Sandbox Code Playgroud)
如果我删除方括号,文件将被很好地提取。
我已经尝试\使用'. 没运气。
任何提示?谢谢
您提供的第一个命令将尝试提取两个或三个文件:
someFolder/H
someFolder/D
video1.mp4
Run Code Online (Sandbox Code Playgroud)
如果你用单引号文件名(')的tar程序将看到[HD]并处理它作为一个水珠通配符,意思是“无论H或D”。因此,它将尝试提取两个文件:
someFolder/H video1.mp4
someFolder/D video1.mp4
Run Code Online (Sandbox Code Playgroud)
引用文件名并使用--no-wildcards标志将抑制这些尝试的扩展:
tar -xC / -f /tarFile.tar 'someFolder/[HD] video1.mp4' --no-wildcards
Run Code Online (Sandbox Code Playgroud)