《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 语音消除回音