我有一个脚本,可以在多个存储库上并行运行 git 命令,这些存储库是 gnu 并行的。我想通过 grep 传递 git 命令的输出并对某些部分进行着色,例如在 git status 上,我希望“干净”这个词显示为绿色。有没有办法用 gnu parallel 和 grep 做到这一点?
到目前为止,这是我的脚本:
#!/bin/bash
START_DIR=`pwd`
export GIT_ARGS=$*
function do_git() {
PROJECT_DIR=`dirname $1`
cd $PROJECT_DIR
echo ""
pwd
git $GIT_ARGS
echo ""
cd $START_DIR
}
export -f do_git
find . -maxdepth 2 -type d -name ".git" | sort | parallel --max-procs 4 "do_git {}"