Как я могу удалить из текстового файла эти специальные символы

У меня есть файл со специальными персонажами, которые были созданы во время копирования с терминала.

Теперь я хотел бы удалить их. Я попробовал grep и sed, но не работал, возможно, я делаю его неправильно.

Специальным символом является ESC в черном квадрате, не может скопировать его, но если я делаю, он превращается в поле с числами внутри:

числа в том поле:

00

1B

2
задан 22 December 2016 в 17:17

3 ответа

Python может сделать задание. Процесс здесь прост, мы читаем во всех строках в список, одновременно заменение символа ESC UTF (который является \u001b), и затем распечатывает строки снова, но без символа ESC. Эти < input.txt отправляет старый текст в команду Python, и > new_file.txt отправляет текст в новый файл.

Сценарий:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import sys
lines=[l.strip().replace(u"\u001b","") for l in sys.stdin]
print("\n".join(lines))

Сохраняют его как delete_escape.py, делают его исполняемым файлом с chmod +x ./delete_escape.py и называют его как так:

./delete_escape.py < input.txt > output.txt

Результаты:

enter image description here

2
ответ дан 2 December 2019 в 02:16

Можно сделать это в sed, но необходимо использовать Escape ANSI в ударе, чтобы дать ему символ:

sed -i 's/' 

И здесь это в действии:

screenshot showing the character being removed

, С другой стороны, в жемчуге:

perl -i -pe 's/' 

И с tr:

tr -d \u001b' < file > newfile 
\u001b''//g' file

И с tr:

tr -d \u001b' < file > newfile 
\u001b''//g' file

И здесь это в действии:

screenshot showing the character being removed

, С другой стороны, в жемчуге:

perl -i -pe 's/' 

И с tr:

tr -d \u001b' < file > newfile 
\u001b''//g' file

И с tr:

tr -d \u001b' < file > newfile 
2
ответ дан 2 December 2019 в 02:16

Если я понимаю правильно, что похоже, что Вы хотите удалить ansi escape-последовательности, существующие в Вашем тексте. Попробовать

ansifilter file

Обновление

К моему удивлению существует нет ansifilter пакет для человечности! (существует для мягкой фетровой шляпы, дуги, варева, и т.д.),

Тем не менее, мы можем установить от TGZ или от других пакетов или wget об/мин, подать заявку чуждый, чтобы создать deb пакет и установить его.

0
ответ дан 2 December 2019 в 02:16

Другие вопросы по тегам:

Похожие вопросы: