• shell 文本替换 ---出现--- sed:-e 表达式 #1,字符 8:“s”的未知选项


    需要替换的行为:

    monitor.url=http://192.168.25.100:8443/rest

    查询资料得知,报错是因为替换的字符串包含有分隔符/

    所以这行改一下分隔符就可以解决问题了  (这里的分隔符随自己定义 例如:sed -i "s#$url#$1#g" datasource.properties  这三个分隔符要统一就可以了

    改成感叹号!或者|  等其他来分割

    sed -i "s!$url!$1!g" datasource.properties

    关于sed 命令中的转义符为()

    还有一点需要注意的是:

         在某些问文件中不知道修改了什么东西导致文件格式出现了问题、导致使用sed 命令无法对文件进行有效的操作;

          那么出现这样的情况的话就需要进行源文件的还原了;暂时还不明白是何原因

          还有就是刚发现有时候sed 不能使用了,一直都不知道是啥原因、所以就换了一种方式:

          find命令查找和替换

          命令格式:find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g'

          #查找替换当前目录下包含字符串并进行替换

          find -name '*.txt' | xargs perl -pi -e 's|智慧乡村|北部山区|g'

          如果有哪位大神知道的、还请指导一二啊、在下感激不尽、先在此谢过了

  • 相关阅读:
    kubernetes构架及组件介绍
    二进制部署k8s
    Git
    Redis sentinel
    redis主从复制
    k8s安装
    基于Jenkins实现可腹部回滚的cicd平台
    Redis基础命令和持久化
    构建自动发现的Docker服务架构
    Redis
  • 原文地址:https://www.cnblogs.com/tzhyy/p/10207464.html
Copyright © 2020-2023  润新知