我有一个包含子文件夹和文件的文件夹。我通过 powershell 创建一个 .zip 文件Compress-Archive。
问题是在 Linux 中打开时文件结构混乱。
\n\nBad 是用 Powershell 制作的 bad.zip 存档Compress-Archive,\n而 Good 是用 Windows\' WinRAR 制作的 good.zip。
这就是它在 Linux 上的样子:(左为坏,右为好)
\n\n\n\n在 Linux 中看到的文件内容为cat:(左边是坏的,右边是好的):
如何解决这个问题?
\n\n...
\n\n我尝试用 nano 中的“/”替换 bad.zip 中的所有“\\”,并且它有效。
\n\n我尝试使用此脚本自动执行此操作,但没有成功:
\n\n#!/bin/bash\n\ncontents=$(cat $1)\necho "${contents//\\\\//}"\nRun Code Online (Sandbox Code Playgroud)\n\n我运行脚本:
\n\n./FixZip.sh bad.zip > new.zip\nRun Code Online (Sandbox Code Playgroud)\n\n反斜杠已按预期替换,但无法打开 new.zip。原因可能是编码不同......
\n\n这是 zip 文件的编码:
\n\nterminal:# file -i bad.zip \nbad.zip: application/zip; charset=binary\nterminal:# encguess bad.zip …Run Code Online (Sandbox Code Playgroud) 我不想等待缓慢的命令完成,而是想在后台运行它们。但是,当它们完成运行并打印到标准输出时,我得到(其中\xe2\x96\x88代表我的光标):
$ slowcmd &\n$ cmd_output\n\xe2\x96\x88\nRun Code Online (Sandbox Code Playgroud)\n\nslowcmd可以是任何慢速命令(对于我尝试过的东西,我只是说alias slowcmd=\'sleep 1 && echo cmd_output\')而我想要这样的东西:
\n\n$ slowcmd && redrawPromptString &\n$ cmd_output\n$ \xe2\x96\x88\nRun Code Online (Sandbox Code Playgroud)\n\n在命令输出之后,会为我打印出一个新的提示字符串。
\n\n我可以做些什么来实现redrawPromptString我想要的?我尝试过clear,kill $$将 a 发送^C到终端,最后printf "^C"(当然这不起作用)。我正在运行 bash。(GNU bash,版本 3.2.57)。