首页 > 解决方案 > 在 N 个可打印字符后截断彩色线条

问题描述

我住在一个tmux会话中。在冲浪和锤击git树枝时,我通常在侧窗格中跟踪我最近的历史记录,其别名扩展为:

watch -cn 0.5 'git log --graph --oneline --all --color=always --decorate'

问题:长线被缠绕并破坏了可爱的彩色图形,使我不稳定!

解决方法

问题:是否有任何标准工具可以在 N 个可打印字符后截断行?

我会避免使用类似自写cut的解决方案,主要是因为可移植性。

标签: bashgittmuxwatch

解决方案


找到的解决方案:

alias gw='watch -cn 0.5 "git log --graph --oneline --all --color=always --decorate | grep -Eo \"^(([[:cntrl:]]\[[0-9;]{,4}m)*[[:print:]]){,\$COLUMNS}\""'

推荐阅读