我正在尝试使用以下命令获取当前文件和目录的列表:
hg manifest -r tip
Run Code Online (Sandbox Code Playgroud)
但是,这会带来如下列表:
.hgtags
folder1/blah.c
folder1/blah.h
foo.json
folder2/bleh.c
folder2/bleh.h
test.json
Run Code Online (Sandbox Code Playgroud)
我怎样才能列出以下内容?
.hgtags
folder1
foo.json
folder2
test.json
Run Code Online (Sandbox Code Playgroud)
在 Unix 机器上你可以尝试:
hg manifest -r tip | cut -d "/" -f 1 | sort -u
Run Code Online (Sandbox Code Playgroud)
或者
hg manifest -r tip | cut -d "/" -f 1 | uniq
Run Code Online (Sandbox Code Playgroud)
cut -d "/" -f 1:选择由“/”分隔的第一部分uniq:过滤掉重复的行或者使用Python(更跨平台):
您需要安装 python-glib (通过 pip)
import hglib
repo = hglib.open("/path/to/repo")
manifest = repo.manifest("tip")
files = set(f[4].split('/')[0] for f in manifest)
Run Code Online (Sandbox Code Playgroud)