【发布时间】:2011-11-25 20:16:08
【问题描述】:
我有一个由 tclsh 捕获的日志文件,它捕获所有退格字符(ctrl-H,显示为“^H”)和颜色设置序列(例如。^[[32m ....^[[0m )。什么是删除它们的有效方法?
^[...m
这很简单,因为我可以执行“sed -i /^[.*m//g”来删除它们
^H
现在我有“sed -i s/.^H//”,它“应用”了一个退格,但我必须继续循环,直到没有更多的退格。
while [ logfile == `grep -l ^H logfile` ]; do sed -i s/.^H// logfile ; done;
"sed -i s/.^H//g" 不起作用,因为它会匹配连续的退格。对于我的日志文件,这个过程需要 11 分钟,大约 6k 行,这太长了。
有没有更好的方法来删除退格?
【问题讨论】: