使用转义序列渲染文本(如终端)
你好,我正在寻找一些库或工具来渲染文本文件中带有转义序列字符的文本。我不知道如何称呼它,但这里有一个例子:
~$ 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 等转换
为 harithski: 但我想要的是:
$~/:sometool /tmp/xxxxx > /tmp/yyyyy
在 python 中
>>> f=open('/tmp/yyyyyy').readlines()
>>> f[0]
>>> ['abc\n def']
\n 和 def 之间有三个空格
Hi, I'm looking for some lib or tool to render text with escape squence chars in a text file. I dont know how to call this, but here is a example:
~$ echo -e "abc\vdef"
abc
def
~$
~$ echo -e "abc\vdef" > /tmp/xxxxx
~$ vi /tmp/xxxxx
I got abc^Kdef on screen.
so i'm searching some tool that can do this for me:
~$ sometool /tmp/xxxxx > /tmp/yyyyy
~$ vi /tmp/yyyyy
I can get
abc
def
in vi window.
\v is just a example, I need convert \v, \b, \f, etc.
to harithski:
but what I want is:
$~/:sometool /tmp/xxxxx > /tmp/yyyyy
in python
>>> f=open('/tmp/yyyyyy').readlines()
>>> f[0]
>>> ['abc\n def']
which has three space between \n and def
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
shell 中的字符 \v 在每个编辑器/工具中的表示方式不同。如果你对文件进行cat,你仍然会得到你需要的东西
如果你在python中打开同一个文件,你会看到字符为\x0b。但是打印出来的时候就没事了。
基本上这是一个代表性问题。如果您的要求是使用程序或工具读取文件,那么表示应该不是问题。
the character \v in shell is represented differently in each editor/tool. If you do a cat of the file, you still get what you need
If you open the same file in python, you will see the character as \x0b. But when you print it, it is fine.
Basically it is a matter of representation. If your requirement is to read the file using a program or tool, the representation shouldn't be a problem.