我输出了一个测试记者,它返回了很好的彩色结果,以及我想摆脱的杂项垃圾。我尝试使用sed
通过:
karma start tests/karma.conf.js | sed 's|var.*browserify||'
...除去垃圾,但也会杀死彩色结果。我该如何保留它们?
以下是sed之前的原始输出示例:
^[[1A^[[2KERROR: 'Unhandled promise rejection' /var/folders/xs/wmmjbz4s6mdgcqynwn46qtmr0000gn/T/799ac09c665c85beb20f6d99be27c1cf.browserify?c65c8d7afc187ee2ed8307a171bc8e1511bfb40b:91625:48)
答案 0 :(得分:1)
.*
将匹配所有内容,包括颜色代码。
如果您不想匹配它们,请使用更具体的正则表达式,例如一个角色范围。
答案 1 :(得分:1)
对于给定的例子,
/var/folders/xs/wmmjbz4s6mdgcqynwn46qtmr0000gn/T/799ac09c665c85beb20f6d99be27c1cf.browserify
更具体的模式可能是其中之一,使用字符类:
sed 's|var[^[:cntrl:]]*browserify||'
sed 's|var[[:alnum:]./]*browserify||'
我会使用后者,因为它可以消除跳过完整路径名的可能性(如果在一行上给出不止一个)。