我有一个拉请求引用名,就像这个
refs/remotes/origin/pull-requests/283/from我想使用从左边去掉3条路径,从右边去掉1条路径,最终想要的输出是pull-requests/283。
lstrip和rstrip可以同时使用吗?
git for-each-ref --format='%(refname:lstrip=-3;rstrip=-1)' refs/remotes/origin/pull-requests/给了我以下错误。做得到吗?
fatal: Integer value expected refname:lstrip=-3;rstrip=-1发布于 2022-01-06 22:33:40
简短的回答是“否”:%(field:modifier)语法只允许一个修饰符。要求它允许由冒号或分号分隔的多个修饰符是合理的,就像您要做的那样,但它目前没有这样做。
(考虑将for-each-ref输出通过一个更有能力的程序。)
发布于 2022-01-06 23:27:26
是的,我就是这样做的,我的做法是这样的。
#!/bin/sh
fmt='r=%(refname:lstrip=-3);echo "$r" | sed -e "s/\/from//"'
eval=$(git for-each-ref --shell --format="$fmt" --sort=-authordate --count=10 refs/remotes/origin/pull-requests)
eval "$eval"https://stackoverflow.com/questions/70614220
复制相似问题