У меня есть файл, который был преобразован от EBCDIC до ASCII. Где раньше были новые строки существуют теперь символы, которые обнаруживаются как <85> (символ, представляющий отдельный символ, не эти четыре символа это, кажется), и целый файл находится на одной строке. Я хочу искать их и заменить их всех новыми строками снова, но я не знаю как.
Я пытался поместить курсор по одному и использовать * для поиска следующего возникновения, надеясь, что это могло бы обнаружиться в моем / история поиска. Это не работало. Это просто искало слово, которое следовало за символом <85>.
Я погуглил вокруг некоторых, но не видел ничего очевидного.
Моя цель состоит в том, чтобы создать строку поиска и строку замены как:
:%s/<85>/\n/g
Который в настоящее время просто дает мне:
E486: Pattern not found: <85>
Спасибо!
Я нашел этот пост из поиска Google. Похоже, вы должны быть в состоянии сделать:
:%s/\%x85/\r/gc
(Опустите c
, чтобы сделать замену без подсказки, попробуйте сначала с c
, чтобы убедиться, что он делает то, что вы хотите, чтобы он сделал.)
В vim, набрав :h \%x
дает более подробную информацию. В дополнение к \%x
, вы можете использовать \%d
, \%o
, \%u
и \%U
для десятичных, восьмеричных, до четырех и до восьми шестнадцатеричных символов.
попробуйте это: :%s/<85>/^M/g
примечание: нажмите Ctrl-V вместе, затем M
или, если вы не возражаете, используйте другой инструмент,
awk '{gsub("<85>","\n")}1' file