需要帮助构建使用 Bash 脚本修改子文件夹中文件的逻辑

Need help in slight building a logic for modifying the files in sub-folders using Bash script

我正在尝试使用 bash 脚本修改一组 YAML 文件和 Swagger YAML 文件,以避免手动复制粘贴工作。

我的目录如下所示:-

C:.
├───folder-1
    ├─── README.md
    ├─── dev.yaml
    ├─── prod.yaml
    ├─── qa.yaml
    └─── run.ps1
├───folder-2
    ├─── README.md
    ├─── dev.yaml
    ├─── prod.yaml
    ├─── qa.yaml
    ├─── run.ps1
    ├─── sample.yaml
    ├─── swagger-1.yaml
    └─── swagger-2.yaml

我想遍历 folder-1 和 folder-2 并编辑所有 dev、qa、prod YAML 以附加一些文本 和另一个附加

中的所有swagger.yaml

这是我的脚本起始级别

for d in *; do
 echo $d
 cd $d
 ls -l
 cd ..
done

使用上面的脚本我只能列出所有文件夹及其文件。 我需要帮助如何追加文件?举个例子,我想在每个目标文件中添加 'dummy' 作为内容。

提前致谢!!

for d in *; do
 echo $d
 cp -a ./resources/. ./$d/
 
 cd $d
 
 for f in *.yaml; do 
    if [[ "$f" = kong* ]]; 
    then
     yq e -i '._info.select_tags = [.services[].name]' $f
    else
     yq e -i '(.security.gas-oidc = []) | (.components.securitySchemes.gas-oidc.type = "oauth2") ' $f
    fi
 done
 
 echo "Files are modified now pushing to git repository"
 git add .
 git commit -m "Batch for commit in git"
 git commit
 git push origin master:dev

 cd ..
done