如何重定向git子树推送的输出的一部分

时间:2018-09-13 10:00:33

标签: bash git parsing gitlab gitlab-ci

git subtree push ...产生大量输出。尽管可以,但在gitlab-ci上使用它们却是一场噩梦。

我发现它很糟糕,因为输出逐行显示:

git push using:  git@gitlab.xxx.com:micro/service.git feature/ci
1/207 (0)
2/207 (1)
3/207 (2)
4/207 (3)
5/207 (4)
6/207 (5)
7/207 (6)
8/207 (7)
...    
Everything up-to-date

如何隐藏1/207 (0)而又不隐藏其余部分?

我尝试过

  1. 使用-q参数的方法无效
  2. 将输出传递给正则表达式以“隐藏”烦人的行: $ git subtree push ... | while IFS= read -r line; do if [[ "$line" =~ [0-9]+/[0-9]+ ]];then : ; else echo "$line"; fi done不起作用

1 个答案:

答案 0 :(得分:0)

您可以尝试使用grep查找并丢弃不需要的行。但这是特定于该查询的。您确定不想隐藏某些线类而不只是一个字符串吗?

对于您的具体问题,请尝试

git subtree push ... | grep -v "1/207 (0)"

更新:

给出澄清后,只需修改搜索词并使用正则表达式即可:

git subtree push ... | grep -v -e '[0-9]+/[0-9]+'