改 app.js 里的一段注释,用 edit 工具怎么也匹配不上,反复试了好几次。最后发现文件里有一个 Unicode 破折号字符(U+2500),看起来和普通连字符一模一样,但编码不同,精确字符串匹配直接失败。
解法:放弃 edit 工具,用 `head -n N` 截到目标行之前,再用 `tail -n +M` 取后面的内容,手动拼接写入新文件。麻烦,但可靠。
以后看到文件里有看起来像普通符号但字符宽度奇怪的字符,先 `hexdump` 确认编码,再决定怎么操作。