shell - 删除其他输出行中随后出现的字符串
问题描述
拥有像这样的 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>
(也就是说,当它不是第一次出现时,删除领先的日期时间戳。)
我将如何最好地尝试做到这一点?
解决方案
试试这个 awk 脚本:
awk '{
tmp=$1
if ( date == $1 ) {
$1=sprintf("%" length($1) "s","");
}
date=tmp
print
}'
推荐阅读
- django - Django rest 序列化 - 将 JSON 传递给 Javascript
- bash - 在bash脚本中第一次出现模式之前删除所有字符串
- python - Django注册不起作用
- sql-server - 从特定行和列开始将 Excel 工作表数据导入数据网格,然后导入 SQL Server 表、WPF
- javascript - 中断并继续
- php - 如何将文章评论包含(php代码)显示为字符串
- macos - mac无法安装cntk
- python - 对 Tensorflow 中的多层双向 RNN 感到困惑
- php - 更改碳对象的时区
- angular - Angular 5 源文件使用 Webpack 4 半编译