отображать текст с помощью escape-последовательности (например, терминала) - PullRequest
2 голосов
/ 09 декабря 2010

Привет, я ищу какую-нибудь библиотеку или инструмент для отображения текста с символами escape-последовательности в текстовом файле.Я не знаю, как это назвать, но вот пример:

~$ echo -e "abc\vdef"
abc
   def
~$
~$ echo -e "abc\vdef" > /tmp/xxxxx
~$ vi /tmp/xxxxx

Я получил abc ^ Kdef на экране.

, поэтому я ищу какой-то инструмент, который может сделать это для меня:

~$ sometool /tmp/xxxxx > /tmp/yyyyy
~$ vi /tmp/yyyyy
I can get 

abc
   def

в окне vi.

\ v это просто пример, мне нужно преобразовать \ v, \ b, \ f и т. Д.но я хочу:

$~/:sometool /tmp/xxxxx > /tmp/yyyyy

в python

>>> f=open('/tmp/yyyyyy').readlines()
>>> f[0]
>>> ['abc\n   def']

, который имеет три пробела между \ n и def

Ответы [ 2 ]

0 голосов
/ 28 января 2011

Не думаю, что я полностью понимаю вопрос, но od поможет?

Пример:

$ echo -e "abc\vdef" > temp
$ cat temp
abcdef
$ od -c temp 
0000000   a   b   c  \v   d   e   f  \n
0000010

Вы можете передать этот вывод через sed, если выхотел навести порядок.Как я уже сказал, я не уверен, что это то, что вы спрашиваете.

0 голосов
/ 10 декабря 2010

символ \ v в оболочке представлен по-разному в каждом редакторе / инструменте.Если вы выполните поиск файла, вы все равно получите то, что вам нужно

$ cat /tmp/xxxxx
abc
   def
$

Если вы откроете тот же файл в python, вы увидите символ как \ x0b.Но когда вы печатаете его, это нормально.

>>> f=open('/tmp/se').readlines()
>>> f[0]
['abc\x0bdef\n']
>>> print f[0]
abc
   def

В основном это вопрос представления.Если ваше требование состоит в том, чтобы прочитать файл с помощью программы или инструмента, представление не должно быть проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...