需要帮助构建使用 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
我正在尝试使用 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