Как заставить emacs (или любой другой редактор) прочитать файл, как если бы он был в формате ASCII? - PullRequest
0 голосов
/ 25 января 2012

Я не смог найти этот ответ на страницах man или info, а также при поиске здесь или в Google.У меня есть файл, который по сути является текстовым файлом, но он как-то облажался при сохранении.(Я думаю, что есть несколько странных байтов в начале файла случайно.)

Я могу открыть файл, и это имеет смысл, используя head или cat, но не используя какие-либосвоего рода редактор.

В конце концов, все, что я хочу сделать, это открыть файл в emacs, удалить «грязные» символы и сохранить его после очистки.Файл, однако, имеет размер огромный , поэтому мне нужно что-то мощное, например, emacs, чтобы иметь возможность его открыть.

В противном случае, я полагаю, я могу попытаться создатьСкрипт, чтобы прочитать это построчно, заставив скрипт прочитать его в текстовом формате, а затем написать его.Но я хотел чего-то быстрого, так как я не буду делать это снова и снова.

Спасибо!Mike

Ответы [ 4 ]

2 голосов
/ 25 января 2012
perl -i.bk -pe 's/[^[:ascii:]]//g;' file

Нашел этот perl один вкладыш здесь: http://www.perlmonks.org/?node_id=619792

1 голос
/ 25 января 2012

Попробуйте М-х find-file-literally в Emacs.

0 голосов
/ 25 января 2012

Вы можете использовать strings, чтобы получить "печатные символы в файле".Возможно, вам придется поиграть с --encoding, хотя я когда-либо использовал его только для извлечения строк ascii из исполняемых файлов.

0 голосов
/ 25 января 2012

Вы можете редактировать файл, используя hexl-mode , который позволяет редактировать файл в шестнадцатеричном формате. Это позволит вам точно увидеть, что это за оскорбительные персонажи, и удалить их.

Похоже, у вас либо есть другая строка, заканчивающаяся в файле (например, возврат каретки в * nix системе), либо он был сохранен в непредвиденной кодировке.

...