Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 在提示符下显示已修改和未知的mercurial文件数_Regex_Mercurial_Sed_Prompt - Fatal编程技术网

Regex 在提示符下显示已修改和未知的mercurial文件数

Regex 在提示符下显示已修改和未知的mercurial文件数,regex,mercurial,sed,prompt,Regex,Mercurial,Sed,Prompt,在使用hg时,我使用扩展来获得一个很好的提示 现在,我的提示如下所示: ~/my/current/path [hg default !] “!”我通过hg提示符的{status}关键字获得的提示中的一部分,该提示符显示了修改过的文件。它显示未知文件的“?” 但是我想要类似于poshhg的东西,其中还显示修改或未知文件的数量 我知道我可以通过hg summary获得这些信息,但是我的sedfu在正确获取正则表达式以获得总数方面失败了 hg summary命令的输出示例: parent: 0:16

在使用hg时,我使用扩展来获得一个很好的提示

现在,我的提示如下所示:

~/my/current/path [hg default !]
“!”我通过
hg提示符的
{status}
关键字获得的提示中的一部分,该提示符显示了修改过的文件。它显示未知文件的
“?”

但是我想要类似于
poshhg
的东西,其中还显示修改或未知文件的数量

我知道我可以通过
hg summary
获得这些信息,但是我的
sed
fu在正确获取正则表达式以获得总数方面失败了

hg summary
命令的输出示例:

parent: 0:16ed527e220f tip
 parent commit message
branch: default
commit: 5 modified, 2 unknown
update: (current) 
做一个hg摘要| grep‘commit’我得到了正确的行:

$ hg summary | grep 'commit'
commit: 5 modified, 2 unknown
根据上面的输出,如何获取已修改和未知文件的数量,以便使我的提示如下所示:

~/my/current/path [hg default !]
[hg default 5!2?]

此功能:

hg sum | sed -ne '/^commit:/{s/^commit: //;s/ modified/\!/;s/ unknown/?/;s/,//g;p}'
。。。尽管可能有一种更优雅的方式

您可能可以自己算出
添加的
删除的
等部分