我有一个类似的拉取请求引用名称
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
简短的回答是"否":CCD_ 4语法仅允许一个修饰符。要求它允许多个用冒号或分号分隔的修饰符是合理的,就像你试图做的那样,但它目前没有做到这一点。
(考虑将for-each-ref
输出通过一个功能更强的程序进行管道传输。(
是的,我正在这样做,我这样做的方式就像这个
#!/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"