Я получаю следующее сообщение об ошибке при попытке отсортировать текстовый файл на OSX (Баш):«Неверная последовательность байтов» в bash, как его найти?
sort: string comparison failed: Illegal byte sequence sort: Set LC_ALL='C' to work around the problem. sort: The strings compared were ‘\363\272\331DR\371’ and ‘201310’.
Веб полон советы, чтобы установить LC_ALL как ошибка рекомендует. Однако я хотел бы найти местоположение этой незаконной последовательности байтов.
Я разбираю данные из большого количества сторонних лиц, выполняя все виды нормализации, прежде чем записывать их в один файл, который в конечном итоге загружается в базу данных. В этих данных не должно быть причудливых символов, и эта ошибка говорит мне, что в этом процессе есть коррупция. Однако я не могу его найти!
Я попытался «разбить» файл на более мелкие и мелкие части, чтобы я мог визуально найти персонажа, но я не могу. Я не могу его grep, найти в vim или в sublimetext.
Любые идеи, как я могу найти местонахождение этой коррупции?
Похоже, что некоторые символы ASCII используются где-то. Может быть, вы могли бы попытаться преобразовать все входные данные в UTF-8, прежде чем использовать его, и соответственно настроить среду? – flob
Как вы сели? 'LC_ALL = C fgrep $ '\ 363 \ 272 \ 331DR \ 371' yourinput' –