花开不停 花开不停
首页
  • 追忆杂谈
  • 书信往来
  • 旅行记录
  • 文定之喜
  • 黄金屋-颜如玉
  • 程序化广告
  • 禅茶一味
  • 随写编年
  • 家人物语
  • 追忆青春
  • 大千世界
  • Shell
  • Java
  • Spark
  • Hadoop
  • ClickHouse
  • MySQL
  • PostgreSQL
  • MongoDB
  • 调度器
  • Zookeeper
  • Kafka
  • Flume
  • 学习周刊
关于
  • 分类
  • 标签
  • 归档
开往 (opens new window)

花开不停

此心光明,亦复何言
首页
  • 追忆杂谈
  • 书信往来
  • 旅行记录
  • 文定之喜
  • 黄金屋-颜如玉
  • 程序化广告
  • 禅茶一味
  • 随写编年
  • 家人物语
  • 追忆青春
  • 大千世界
  • Shell
  • Java
  • Spark
  • Hadoop
  • ClickHouse
  • MySQL
  • PostgreSQL
  • MongoDB
  • 调度器
  • Zookeeper
  • Kafka
  • Flume
  • 学习周刊
关于
  • 分类
  • 标签
  • 归档
开往 (opens new window)
  • Shell编程

    • 如何让不断增加的目录只保留五个文件
    • 那些使用字符画出来的画
    • 业务中期的日志备份操作过程
    • 关于sed命令当中包含变量的坑
    • markdown
    • 利用shell脚本将博客数据库备份到邮箱附件
    • Shell实现两组数据的交并差sort-uniq
    • Shell将文件平均切分为n份
    • linux的压缩与解压(zip、gz、tar.gz)
  • Java编程笔记

  • Spark

  • Hadoop

  • ClickHouse

  • MySQL

  • PostgreSQL

  • MongoDB

  • 调度器

  • Zookeeper

  • Kafka

  • Flume

  • 编程世界
  • Shell编程
花开不停
2023-05-09

关于sed命令当中包含变量的坑原创

今天在写脚本时用到了sed命令,其中也学到不少新的东西,特此记录一下。

正确的操作如下所示:

sed "/$1/c $2" a.log > b.log
1

这里边用到了位置参数变量,是想制作一个可以灵活控制替换内容的脚本,在外部执行脚本的时候首先输入要替换的被匹配的内容,其次是输入替换后的内容。 执行脚本的格式大概这样:

bash aa.sh abc.url  "abc.url=bcd"
1

在配置文件当中abc.url可能不是bcd,那么通过这个脚本,就能够把他改成bcd了。

image

这个地方有两个地方要注意的:

  • 1, sed后边是双引号,而不是单引号,如果单引号,则此命令会失败。原因是因为其中含有变量。
  • 2, 这个只是做一个预览式修改,并没有真正更改其中内容,所以需要导出,然后再倒回原文件。
#shell
上次更新: 2023/06/07, 18:26:58

← 业务中期的日志备份操作过程 markdown→

最近更新
01
2025-05-26当我意识到我变得自私、暴躁、情绪不受控制 原创
05-26
02
clickhouse版本升级的语法变动21.8.9.1至23.8.9.1 原创
04-22
03
2025-03-28拍婚纱照 原创
04-02
更多文章>
Theme by Vdoing | Copyright © 2023-2025 | 京ICP备2023013437号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式