通常sed指令修改行内容时使用:sed -i " 9 s/^.*/"type in what you want modified!"/"

其中"type in what you want modified!"为替换后希望得到的内容。

由于用作替换的字符串里面包括与sed替换格式相同的"/",因此可以正常使用。

But,当希望通过sed方式修改配置文件中的目录时,由于用作替换的目录字符换(datapath=/home/datatest/)中包含"/",会影响sed的作用。

However,可用通过一下sed方式做替换操作:sed -i " 9 s:^.*:${datapath}:"

即:把"/"替换为":"

BTW,sed中使用“”比使用‘’明智。

自测示例脚本run.sh如下:

#!/bin/bash

#脚本名字run.sh,用于修改配置文件中数据的源路径和目标路径

getdatapath(){
# echo "入参:"$*
 if [ $# -eq 3 ];then
  if [[ ! -z $1 &&
    ! -z $2 &&
    ! -z $3 ]];then
    local emstype="$1"
    local srcdir="$2"
    local dstdir="$3"
    local configfile="../conf/DataParse.ini"

#获取对应配置文件中需要修改的行数

    local srclinenum=$(grep -n "SrcPath=" ${configfile}|awk -F ':' '{print $1}')

#对指定行所有内容进行重写
    sed -i ""${srclinenum}" s:^.*$:SrcPath=${srcdir}:" $configfile

    local dstlinenum=$(grep -n "ResultPath=" ${configfile}|awk -F ':' '{print $1}')
    sed -i ""${dstlinenum}" s:^.*$:ResultPath=${dstdir}:" $configfile
  else
    echo "run.sh--ERROR : Some parameter is null!"
  fi
 else
    echo "run.sh--ERROR : The parameter number is not matched!"
   fi
}

#获取源数据目录和目标目录
#getdatapath $*

getdatapath "testtype" "/home/srcdata/" "/home/dstdata/"

转载于:https://www.cnblogs.com/sayhihi/p/6051493.html

shell中通过sed替换文件中路径相关推荐

  1. 用python中re.sub()替换文件中指定字符串

    用python中re.sub()替换文件中指定字符串 1.正则表达式re.sub()的用法 sub(pattern,repl,string,count=0,flag=0) 1)pattern正则表达式 ...

  2. 用sed替换文件中的空格

    请教sed 替换问题 请教各位如何替换多个空格为一个字符,如一个文件中间隔符有是一个空格,有的地方是多个空格,想全部用"|"替换,如何处理,请指教 请教sed 替换问题 [code ...

  3. linux下sed正则表达式匹配批量替换文件中的内容

    sed命令介绍 sed是一种流编辑器,它是文本处理中非常有用的工具,能够完美的配合正则表达式使用,功能不同凡响.处理时,把当前处理的行存储在临时缓冲区中,称为『模式空间』(pattern space) ...

  4. linux中替换文件中的内容,linux下批量替换文件中的内容linux操作系统 -电脑资料...

    对于单个文件,使用sed命令很容易做到, grep命令可以查找单个文件或文件夹下文件中的内容,使用参数"r"或"-R"可以递归查找指定文件夹下的所有文件:参数& ...

  5. sed 替换_Linux中sed的用法

    1.sed 流编辑器,实现对文字的增删改替换查(过滤.取行),能同时处理多个文件多行的内容,可以不对原文件改动,把整个文件输入到屏幕,可以把只匹配到模式的内容输入到屏幕上.还可以对原文件改动,但是不会 ...

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

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

  7. Tips--利用shell脚本批量提取txt文件中任意字段

    利用shell脚本批量提取txt文件中任意字段 前言 0. 一个例子 1. cat命令 2. '|'符号与'>'符号 3. grep命令 4. awk命令 前言 对于测试中出现的log,我们经常 ...

  8. 使用node读取文件内容并且替换文件中的内容

    背景: 因项目上安全编码要求,需要对angular编译后的文件中的特殊字符进行处理. 解决方案: 1.使用shell脚本(没试过,对shell不熟悉,理论上可行): 2.使用Python: 3.使用n ...

  9. linux 文件转换ascii,linux 小技巧(查找替换文件中的ascii编码字符)

    这里纪录一些linux下用到的小技巧,以免遗忘 在linux中经常碰见各种文件处理.最常用的就是替换文件中的某些字符.常见字符替换还是很容易完成.但是有些不可见字符以及ascii编码字符等等都无法直接 ...

最新文章

  1. Spring Security 进阶干货:自定义配置类入口WebSecurityConfigurerAdapter
  2. 解决Visual SVN在linux下不能访问的问题
  3. oracle知识汇总
  4. OpenGL multiple lights多光源的实例
  5. 第013课_代码重定位
  6. 爬取了10W条数据,我们整理出了这份北上广深租房图鉴
  7. 面试官 | 说一下数据库如何分库分表?
  8. BZOJ1055: [HAOI2008]玩具取名[区间DP]
  9. 【实战】K8S部署Nacos微服务
  10. Java成员变量查找_Java中的成员变量和局部变量
  11. linux性能监控常用命令
  12. 【toplink】 位居第一的Java对象关系可持续性体系结构
  13. 夺命雷公狗---linux NO:26 linux下的用户和用户组的管理
  14. 前端 后端 MD5加盐
  15. 兄弟打印机内存已满清零方法_打印机内存已满怎么处理
  16. excel中怎样制作下拉菜单
  17. linux 设置中国时区
  18. Electron对接语音唤醒Windows SDK
  19. PHP使用socks5代理发送邮件
  20. Solr简介,功能,特性

热门文章

  1. Catterplots包,让你绘制不一样的图
  2. mysql 唯一性约束报错_怪异的MySQL Online DDL报错Duplicate entry
  3. 怎么计算一组数据的波动_数据分析(一):数据描述统计
  4. c语言猜拳游戏中出现的关键词,C语言猜拳游戏代码及分析
  5. java web 总结,Java Web 相关概念经典总结(一)
  6. php百分比乘加,用php简单实现加减乘除计算器
  7. c++十六进制加法_C++中输出十六进制形式的字符串
  8. c语言 坐标系转换 axistoradius,dynamo编程语言翻译.pdf
  9. ping 代理_Happy专访:Ping太高不是问题 换我不会像120一样比赛
  10. 16、计算机图形学——基于AABB进行光线追踪的加速(下)