其生若浮其死若休
发布于
更新于
批量查找文件并追加替换内容。
不为福先,不为祸始;感而后应,迫而后动,不得已而后起。去知与故,循天之理,故无天灾,无物累,无人非,无鬼责。其生若浮,其死若休;
——《庄子·刻意》
批量查找文件并追加替换内容。
遇到一个需求,需要将公司的项目的 git 提交信息都改成公司的,但是自己的项目不想改。可以在每个项目里边单独配置提交者的邮箱和用户名,即去掉 --global
标记:
git config user.name "Your Name"
git config user.email "[email protected]"
这一段信息在 git 仓库的 .git/config 文件里可以看到。
首先需要查找到所有仓库的 .git 目标,找到其中的 config 文件:
find -maxdepth 4 -type f -path "*/.git/*" -prune -name "config" -print
这里限定目录层级为 4 级。然后通过 echo 追加内容:
find -type f -path "*/.git/*" -prune -name "config" -print -maxdepth 4 -exec sh -c "echo '[user]\n\temail = [email protected]\n\tname = user' >> {}" \;
如果只是修改某一个文件可以:
echo -e '[user]\n\temail = [email protected]\n\tname = user' >> ./.git/config