2

Я работаю с простым текстовым файлом, содержащим невидимые символы, которые я не могу распознать. Как я могу их идентифицировать?

В Atom они отображаются как пробелы, когда я переключаюсь, чтобы показать невидимых символов. Они не отображаются как общее пространство (то, что Atom показывает как маленькая центрированная точка).

В BBEdit он отображается в виде центрированной точки, которая выглядит немного толще, чем обычное пространство. Замена не-ASCII символов (с помощью «zap gremlins») не заменяет его.

Я могу скопировать символ в регулярное выражение, и запрос найдет символ. Он не распознается как символ пробела с \s .

Я скопирую символ здесь (между стрелками), но я понятия не имею, появляется ли он на самом деле! -> <-

(вау, приклеить неизвестного невидимого персонажа было нелепо неловко ...)

1 ответ1

4

Использование шестнадцатеричного редактора должно выявить шестнадцатеричные коды, которые вы затем можете найти или найти.

Если вы хотите придерживаться (Баш?) терминал, вы можете поместить весь файл через hexdump / hd , или, может быть, grep ошибочной строки и просто направить его на hd чтобы вы смотрели только на одну строку, подобно

grep "unique line text" file | hd

Или получить только N-ю строку с
sed 'Nq;d file'

Существует также класс символов регулярного выражения для всех печатных символов:

‘[:print:]’
 Printable characters: ‘[:alnum:]’, ‘[:punct:]’, and space.

Поиск обратного (-v) из них может быть полезным, например,
grep -v "[[:print:]]"

Или, если вы можете скопировать его успешно, вы можете просто вставить его в шестнадцатеричный редактор или в echo " " | hd команда ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .