首页 > 解决方案 > 删除其他输出行中随后出现的字符串

问题描述

拥有像这样的 SVN 或 Git 日志:

2020-02-28 r504 Rename SQL scripts <me>
2020-02-28 r503 Fix for "paginated report" <someone.else>
2020-02-26 r502 Add task in script <me>
2020-02-26 r501 Add environment file <me>

我希望通过获得这样的输出使输出更具可读性:

2020-02-28 r504 Rename SQL scripts <me>
           r503 Fix for "paginated report" <someone.else>
2020-02-26 r502 Add task in script <me>
           r501 Add environment file <me>

(也就是说,当它不是第一次出现时,删除领先的日期时间戳。)

我将如何最好地尝试做到这一点?

标签: shellawk

解决方案


试试这个 awk 脚本:

awk '{
tmp=$1
if ( date == $1 ) {
    $1=sprintf("%" length($1) "s","");
}
date=tmp
print
}'

推荐阅读