根据某个文件的关键字做替换

#!/bin/bashkv=`awk -F "=" '{ if(NF==2) print $1"="$2 }' ./zuanshi_servic_test.properties`for kv in ${kv[@]};dok=`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脚本: 根据关键字做替换相关推荐

  1. linux同名文件没有自动替换,linux – bash脚本替换文件中出现的所有占位符

    我正在尝试编写一个bash脚本,用一个同名环境变量替换文件中所有出现的占位符.举个例子,如果我有一个像下面这样的文件-- This is an {{VAR1}} {{VAR2}}. It should ...

  2. 生产力工具:shell 与 Bash 脚本

    生产力工具:shell 与 Bash 脚本 作者:吴甜甜 个人博客网站: wutiantian.github.io 微信公众号: 吴甜甜的博客 注意:本文只是我个人总结的学习笔记,不适合0基础人士观看 ...

  3. 最全的Linux运维bash脚本常见用法总结

    删除重复的数组元素 创建临时关联数组.设置关联数组 值并发生重复赋值时,bash会覆盖该键.这 允许我们有效地删除数组重复. CAVEAT:需要bash4+ 示例功能: remove_array_du ...

  4. 全宇宙最全的bash 脚本常见用法总结!

    shopt -s extdebugf()(printf '%s\n' "${BASH_ARGV[@]}"); f "$@" shopt -u extdebug ...

  5. [分享]写出健壮的Bash脚本

    许多人用shell脚本完成一些简单任务,而且变成了他们生命的一部分.不幸的是,shell脚本在运行异常时会受到非常大的影响.在写脚本时将这类问题最小化是十分必要的.本文中我将介绍一些让Bash脚本变得 ...

  6. 检查传递给Bash脚本的参数数量

    本文翻译自:Check number of arguments passed to a Bash script I would like my Bash script to print an erro ...

  7. 从脚本本身获取Bash脚本的源目录

    如何获取其中的目录路径的Bash脚本所在,该脚本里面 ? 例如,假设我要使用Bash脚本作为另一个应用程序的启动器. 我想将工作目录更改为Bash脚本所在的目录,以便可以对该目录中的文件进行操作,如下 ...

  8. 如何写出安全的、基本功能完善的Bash脚本

    每个人或多或少总会碰到要使用并且自己完成编写一个最基础的Bash脚本的情况.真实情况是,没有人会说"哇哦,我喜欢写这些脚本".所以这也是为什么很少有人在写的时候专注在这些脚本上. ...

  9. sh脚本和bash脚本_在脚本中使用Bash陷阱

    sh脚本和bash脚本 很容易检测到shell脚本何时启动,但是并不总是容易知道何时停止. 脚本可能会正常终止,就像作者希望的那样终止,但是由于意外的致命错误,脚本也可能会失败. 有时,保留脚本失败时 ...

最新文章

  1. 代理 block 通知传值
  2. Unity2D实现贴图凹凸感并接受实时光照效果
  3. 如何测量上下文切换时间
  4. transform再次理解
  5. set python用法_Python set()用法及代码示例
  6. 周末ROS学习沙龙第四期——动作编程、dynamic_reconfigure动态参数更新、控制机器人移动、传感器数据处理
  7. 在行进中开火 Fire and Motion By Joel Spolsky
  8. python中惩罚的代码_如何只为在python中使用的实现支付依赖惩罚?
  9. 一个开源的网页画板,真的太方便了
  10. R语言绘制花瓣图flower plot
  11. 手机QQ文件存储路径
  12. android怎样连接指定wifi,手机连接指定WiFi的实现
  13. 华为存储发展史:从筚路蓝缕到星辰大海
  14. 【愿头发与你我同在队】团队项目第一次作业-组队与选题
  15. MATLAB学习笔记2:MATLAB基础知识(下)
  16. 教你win10浏览器禁用加载项操作方法【系统天地】
  17. 32位CPU最大支持4G内存
  18. java.awt包_Java中awt包
  19. 2022年全球与中国超快激光器市场现状及未来发展趋势
  20. 通联IPAY常见问题解答

热门文章

  1. 网络流最大流 Dinic算法模板
  2. 【yolo目标检测】(1) yolov3,网络结构Darknet53,特征提取
  3. 算法的时间与空间复杂度详解
  4. C++ OpenCV形态学操作--开闭操作,形态学梯度,顶帽,黑帽
  5. Linux下设置mysql和tomcat开机启动
  6. libcurl选项CURLOPT_WRITEDATA中的“坑”
  7. WiredTiger引擎编译 及 LT_PREREQ(2.2.6)问题解决
  8. Linux平台下QtCreator集成代码静态分析工具clang-tidy和Clazy
  9. WinForm绘制带有升序、降序的柱形图
  10. java内存模型和线程安全