我有一个从EBCDIC转换为ASCII的文件。在以前有新行的地方,现在出现的字符显示为<85>(一个符号代表一个字符,而不是看起来像的四个字符),整个文件都在一行上。我想搜索它们,然后再次用新行替换它们,但是我不知道如何。
我尝试将光标放在一个光标上,并使用*搜索下一个匹配项,希望它可能显示在我的/搜索历史记录中。那没用。它只是搜索<85>字符后的单词。
我用Google搜索了一些内容,但没有发现明显的内容。
我的目标是建立一个搜索并替换如下字符串:
:%s/<85>/\n/g
目前哪位给我:
E486: Pattern not found: <85>
谢谢!
我在Google搜索中找到了[Find & Replace non-printable characters in vim]。看来您应该能够做到:
:%s/\%x85/\r/gc
忽略c
进行替换而不提示,请先尝试使用c
以确保它正在执行您想要的操作。
在Vim中,键入:h \%x
可提供更多详细信息。除了\%x
,还可以将\%d
,\%o
,\%u
和\%U
用于十进制,八进制,最多四个和最多八个十六进制字符。
对于特殊字符搜索,例如,对于<80>
,<90>
,<9d>
,使用win1252 ...类型:
/\%u80, \/%u90, /\%u9d ...
来自编辑器。
类似于八进制,十进制,十六进制,键入:/\%oYourCode
,/\%dYourCode
,/\%xYourCode
。
尝试::%s/<85>/^M/g
注意:同时按Ctrl-V和M
或者如果您不介意使用其他工具,
awk '{gsub("<85>","\n")}1' file