如何从我的文件中删除以下字符序列?^[[64;8H
, ^[[?25h
,^[[1;64r
等或避免首先添加它们?
背景:
我正在为某些任务使用一组期望脚本。
我收集的输出文件通常包含上述类型的字符(如 emacs / vi / cat -v 中所示)。我已经尝试了一些像下面这样的 tr 命令,但它只使 [64;8H 等可见。
tr -dc '[:print:]\n' < input
Run Code Online (Sandbox Code Playgroud)
编辑:
上面的结果在一条有问题的线上
[1;64r[64;1H[64;1H[2K[64;1H[?25h[64;1H[64;.....
Run Code Online (Sandbox Code Playgroud)
你很接近。你要
tr -dc '[:print:]\n' <input
Run Code Online (Sandbox Code Playgroud)
从tr(1)
手册页:
-c, -C, --complement
使用 SET1 的补码
更新
如果您还想删除转义序列,可以使用以下sed
代码段:
sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g"
Run Code Online (Sandbox Code Playgroud)
它取自名为In CentOS 4.4的服务器故障问题,如何从文本文件中去除转义序列?
归档时间: |
|
查看次数: |
7288 次 |
最近记录: |