我尝试仅从shell脚本中的提交消息中获取提交ID,我只需要“ d1099308a1af0f91e93bf22cf6e9b5d294cf121d”
commit_message =“ commit d1099308a1af0f91e93bf22cf6e9b5d294cf121d作者:Martin日期:2019年4月17日星期三16:05:35
我尝试使用以下sed命令,但无法正常工作 commit_ID = $(sed -e's / commit。(*)作者/'$ commit_message)
答案 0 :(得分:1)
你的意思是那样的吗?
sed 's/^commit \([^ ]*\).*/\1/' <<< $commit_message
输出
d1099308a1af0f91e93bf22cf6e9b5d294cf121d
答案 1 :(得分:0)
如果您没有其他ID,this regex将起作用:
[0-9a-fA-F]{20,}
如果还有其他ID,则添加a look behind将有助于过滤:
(?<="commit\s)[0-9a-fA-F]{20,}
但是,sed的“ s”命令无法获取,而是“替代”。对于获取,您可能需要使用“ grep”或其他。
答案 2 :(得分:0)