Mam plik txt o nazwie COPYING, który jest edytowany w systemie Windows. Zawiera styl okna eolJak znaleźć i usunąć niewidoczne znaki w pliku tekstowym za pomocą emacsa
$ file COPYING
COPYING: ASCII English text, with CRLF line terminators
Próbowałem przekonwertować go do stylu unix przy użyciu dos2unix. Poniżej znajduje się wyjście
Zaskoczyło mnie, że program dos2unix zgłasza go jako plik binarny. Następnie za pomocą innego edytora (nie emacs) stwierdziłem, że plik zawiera znak kontrolny. Jestem zainteresowany, aby znaleźć wszystkie niewidoczne znaki w pliku za pomocą emacs.
Przez Googling znalazłem następujące rozwiązanie, które wykorzystuje tr
tr -cd '\11\12\40-\176' < file_name
Jak zrobić to samo w emacs sposób. Wypróbowałem tryb hexl. Tryb hexl pokazuje tekst i odpowiadające im wartości ASCII w pojedynczym buforze, który jest świetny. Jak znaleźć znaki, które mają wartości ASCII inne niż 11-12, 40-176 (tj. Tabulacja, spacja i widoczne znaki). Próbowałem utworzyć wyrażenie regularne dla tego wyszukiwania, ale jest dość skomplikowane.
Dzięki za odpowiedź. Chciałem zrozumieć, co robi wyrażenie regularne. Wprowadziłem polecenie "opis-zestaw znaków", a następnie zaznacz "ascii", aby zobaczyć zestaw znaków. Czy mógłbyś wyjaśnić, dlaczego przegapiłeś C-j i gdzie C-? jest udokumentowane. –
@Talespin_Kit 'C-i' to tabulacja,' C-j' to znak nowej linii. – Gilles
Ten link http://www2.lib.uchicago.edu/keith/tcl-course/emacs-tutorial.html mówi, że C-m jest dla klucza RET. Nie mogę znaleźć dokumentu gdzie C-? jest udokumentowane. Czy możesz to wskazać. –