开发指南

《shell打包脚本》——格式化svn日志

2022-01-14  本文已影响0人  墨韵

对svn log结果进行格式化处理。

初始值>

$ svn log -l 2
------------------------------------------------------------------------
r121 | Xu | 2022-01-14 18:23:15 +0800 (四, 2022-01-13) | 1 行

onResume
------------------------------------------------------------------------
r120 | Che | 2022-01-14 17:55:31 +0800 (四, 2022-01-13) | 1 行

增加isSpeakerphoneOn命令
------------------------------------------------------------------------
$

预期:取出版本列>

// 说明:
//  tr -d '-'      删除横线
//  egrep "[^^$]"  取出空行
//  cut -f1 -d" "  显示第一列
$ svn log -l 2 -q | tr -d '-' | egrep "[^^$]" | cut -f1 -d" "
r121
r120
$

完整脚本>

# 执行多行日志
function svnLogLines() {
  lineNum=3
  log=$(svn log -l $lineNum -q | tr -d '-' | egrep "[^^$]" | cut -f1 -d" ")
  arr=(${log// /})
  result=""
  for str in ${arr[@]}; do
    result="$result\n$(svnLogOneLine $str)"
  done
  echo $result | egrep "[^^$]"
}

# 执行单个日志 svn log -r r1002
function svnLogOneLine() {
  version=$1
  log=$(svn log -r $version)
  log_short=${log//-/}
  log_ret=$(echo $log_short | awk '{print $1,$3,$NF}')
  echo $log_ret
}

# 执行>
svnLogLines

结果示例

r121 Xu onResume
r120 Che 增加isSpeakerphoneOn命令
r119 Che 语音消除回音
上一篇 下一篇

猜你喜欢

热点阅读