Я должен очистить файл. У нас есть xml синтаксический анализатор, который работает на нем, который перестал работать из-за символа ESC (0x1B) в файле. Как я использую энергию для нахождения, куда в файле, который символ так, я могу удалить его?
Файл в качестве примера:
<?php
echo "Hello, world.\n";
?>
После преобразования:
0000000: 0a3c 3f70 6870 0a65 6368 6f20 2248 656c .<?php.echo "Hel
0000010: 6c6f 2c20 776f 726c 642e 5c6e 223b 0a3f lo, world.\n";.?
0000020: 3e0a
Таким образом, я удаляю символ: (в этом примере, 'H')
0000000: 0a3c 3f70 6870 0a65 6368 6f20 22 656c .<?php.echo "Hel
0000010: 6c6f 2c20 776f 726c 642e 5c6e 223b 0a3f lo, world.\n";.?
0000020: 3e0a
Заметьте, как первая строка больше не достаточно широка. Когда я преобразовываю его назад, я добираюсь:
^@<?php
echo "el^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@>
Поиск (например, используя /) для \%x1b
.
Вы также можете вводить управляющие символы, включая escape, в командную строку, предваряя их Ctrl-V. Поэтому введите /, Ctrl-V, Esc, Enter.
Преобразуйте vim в шестнадцатеричный редактор, выполнив [escape]:%! Xxd
. Затем найдите 0x1B ( / 1B
).