2011-12-09 29 views
3

存储所有我的Git提交信息与混帐:需要解析提交信息寻找模式和列表

refs #SOME_NUMBER 

其中SOME_NUMBER是从1数字开头。我想分析 我的工作分支上的所有通信消息,将所有SOME_NUMBER存储在列表中,删除重复项并保存到文件。真的不知道从哪里开始....

回答

4

你可以用这个壳状的内衬做的相当容易:

$ git log --format=%s | cut -f 2 -d ' ' | sed 's/#\(.*\)/\1/' | sort -n | uniq > refs.txt 

说明:

  1. git log --format=%s显示器的每一个第一行提交消息
  2. cut -f 2 -d ' '将行分开一个空格,并打印第二部分(#SOME_NUMBER部分)
  3. sed 's/#\(.*\)/\1/'从号码删除数字符号
  4. sort各种数字升序
  5. uniq确保每个数量仅打印一次
  6. > refs.txt打印输出到一个文件名为refs.txt的条目。
+0

要对数字进行排序,请使用“sort -n”。除非先排序,否则uniq不可靠;它只会删除连续的重复项,所以它不仅仅是一个“不错的接触”,而是必需的。 – Peter