Jac*_*cko 3 git grep commit-message
我所有的git commit消息都以
refs #SOME_NUMBER
Run Code Online (Sandbox Code Playgroud)
其中SOME_NUMBER是从1开始的数字。我想解析我的工作分支上的所有提交消息,将所有SOME_NUMBER存储在列表中,删除重复项,然后保存到文件中。不太确定从哪里开始。
您可以使用此shell一线式轻松完成此操作:
$ git log --format=%s | cut -f 2 -d ' ' | sed 's/#\(.*\)/\1/' | sort -n | uniq > refs.txt
Run Code Online (Sandbox Code Playgroud)
说明:
git log --format=%s 显示每条提交消息的第一行cut -f 2 -d ' '用空格分隔线,并打印(#SOME_NUMBER部分)的第二部分sed 's/#\(.*\)/\1/' 从数字中删除数字符号sort 按数字升序对条目进行排序uniq 确保每个数字仅打印一次> refs.txt将输出打印到名为的文件中refs.txt。