根据某个文件的关键字做替换
#!/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进行转换才能使用,而从代码上是看不出任何差别的。不能被表象迷惑啊。
分享到:
相关推荐
专门解决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
主要介绍了Shell脚本bash: ./t.sh:/bin/bash^M:损坏的解释器: 没有那个文件或目录,需要的朋友可以参考下
高级bash脚本编程指南下载,欢迎大家喜欢
自述文件高级Bash脚本指南(基于花粉的新版本) HTML中的高级Bash脚本指南: 主页: 关于《高级Bash脚本指南》是由Mendel Cooper撰写的书,并且是《 Linux文档项目》(页面)“。 这是自2014年以来致力于公共领域的...
bash-scripts项目 在类似Unix的系统中使用的示例bash脚本
Bash脚本 这只是一个存储有用的bash脚本的存储库