根据某个文件的关键字做替换
#!/bin/bash
kv=`awk -F "=" '{ if(NF==2) print $1"="$2 }' ./zuanshi_servic_test.properties`
for kv in ${kv[@]};do
k=`echo $kv | awk -F "=" '{print $1}'`
v=`echo $kv | awk -F "=" '{print $2}' | awk -F "\r" '{print $1}'`
sed -i "s@\${$k}@$v@g" `grep $k -rl ./src/test/resources/`
done
原本打算将sed跟awk混合使用的,但是最后还是没成功,只好退而求其次,先将key-value保存到kv数组中,然后根据key依次替换对应文件。
因为value中包含"\"等字符,所以原本使用的sed 's/XX/XX/g'无法正常使用,改为's@XX@XX@g'
另外学到了Bash中的for循环${kv[@]}
另外一开始,脚本一致性就报错,但是看代码又看不出任何错误。最后才知道,原来这个脚本是通过svn windows客户端上传的,在Linux下需要通过dos2unix进行转换才能使用,而从代码上是看不出任何差别的。不能被表象迷惑啊。
分享到:
相关推荐
本Bash脚本用于自动化管理Java JAR应用的启动、停止及监控。首先检查JAR进程是否在运行,如在运行则安全终止。随后,使用预设的Java参数启动JAR文件,并将输出和错误日志重定向至日志文件。启动后,脚本持续监控JAR...
本Bash脚本用于自动化管理Java JAR应用的启动、停止及监控。首先检查JAR进程是否在运行,如在运行则安全终止。随后,使用预设的Java参数启动JAR文件,并将输出和错误日志重定向至日志文件。启动后,脚本持续监控JAR...
本Bash脚本用于自动化管理Java JAR应用的启动、停止及监控。首先检查JAR进程是否在运行,如在运行则安全终止。随后,使用预设的Java参数启动JAR文件,并将输出和错误日志重定向至日志文件。启动后,脚本持续监控JAR...
本Bash脚本用于自动化管理Java JAR应用的启动、停止及监控。首先检查JAR进程是否在运行,如在运行则安全终止。随后,使用预设的Java参数启动JAR文件,并将输出和错误日志重定向至日志文件。启动后,脚本持续监控JAR...
本Bash脚本用于自动化管理Java JAR应用的启动、停止及监控。首先检查JAR进程是否在运行,如在运行则安全终止。随后,使用预设的Java参数启动JAR文件,并将输出和错误日志重定向至日志文件。启动后,脚本持续监控JAR...
本Bash脚本用于自动化管理Java JAR应用的启动、停止及监控。首先检查JAR进程是否在运行,如在运行则安全终止。随后,使用预设的Java参数启动JAR文件,并将输出和错误日志重定向至日志文件。启动后,脚本持续监控JAR...
专门解决gazebo-2报错的问题
bash脚本:我自己的bash脚本集合
高级Bash脚本编程指南 操作系统 - Linux - 高级Bash脚本编程指南.zip
包括jar包 start.sh(启动)、stop.sh(停止)、restart.sh(重启)、pid.sh(输出进程号)、run.sh(操作) 5个脚本...脚本为Linux Bash脚本。2.文件中 'xyz.jar' 修改为运行jar包名。3.给脚本执行权限,例:chmod +x run.sh 。
Bash 脚本实例:获取符号链接的目标位置.doc
到此这篇关于Linux bash:./xxx:无法执行二进制文件报错的文章就介绍到这了,更多相关Linux 无法执行二进制文件 内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!...
bash脚本编写教程简易教 bash脚本编写教程简易教
Advanced-Bash-Scripting-Guide-in-Chinese 《高级Bash脚本编程指南》revision 10 中文第10版
高级Bash脚本编程指南(Advanced Bash-Scripting Guide)6.4版本的shell脚本源码
高级Bash脚本编程指南
高级Bash脚本编程指南[1].3.9.1 (杨春敏 黄毅 译)【无重复页】
高级Bash脚本编程指南高级Bash脚本编程指南.pdf高级Bash脚本编程指南.pdf
高级Bash 脚本编程指南 高级Bash 脚本编程指南
高级 bash 脚本 编程指南 6.0 最新版 2009 高级 bash 脚本 编程指南 6.0 最新版 2009 高级 bash 脚本 编程指南 6.0 最新版 2009