当我做svn up
时,我得到的平均输出量为100行。另外还有X-teen外部体,总共可以更新约30秒(它们每隔2-3s就会一个接一个地弹出)。如何在运行时着色shell输出
我想着色(也许是转换)这个输出,以便我可以更清楚地看到它。
我知道我可以使用sed
来做到这一点,但它需要一个讨厌格式的正则表达式 - 大量转义字符。 perl
另一方面需要更清洁的正则表达式,但它在打印输出之前等待整个输入 - 我得到了30秒没有和BAM整个输出立即出现。
up.sh
#!/bin/bash
svn up [email protected] \
| grep -vE "^\s*$|revision" \
| ${arhbin}/coloring/svn.sh \
$ {} arhbin /coloring/color_definitions.sh
#!/bin/bash
source ${arhbin}/coloring/color_definitions.sh
cat \
| perl -pe 's/(^ *A.*$)/'$GREEN'\1'$NORMAL'/igs' \
| perl -pe 's/(^ *D.*$)/'$RED'\1'$NORMAL'/igs' \
| perl -pe 's/(^ *C.*$)/'$RED_BG'\1'$NORMAL'/igs' \
| perl -pe 's/(^ *[?].*$)/'$BLUE'\1'$NORMAL'/igs' \
| perl -pe 's/(^ *G.*$)/'$BLUE'\1'$NORMAL'/igs' \
我怎样才能颜色的命令在运行时使用Perl/Python的正则表达式一样的输出?
你在Linux上吗? – hek2mgl
我会首先确定没有任何东西被缓冲。 – simbabque
@ hek2mgl是的,红色帽子要精确 –