`

安装部署脚本中:sed用法记录(转)

 
阅读更多

在linux系统上,sed的查找、替换、删除功能有着强大的实用性:

  1. 安装应用程序时,输入某些参数替换默认参数。
  2. 启动应用程序时,读取配置文件中的变量。
  3. 删除某些文件中的空行或者删除脚本中"#"开始的注释行。

1. 输入参数,替换配置文件中的默认参数

eg.  在log4j配置文件log4j.properties中:

log4j.appender.FileApp=org.apache.log4j.RollingFileAppender
log4j.appender.FileApp.File=/tmp/log/app.log 
log4j.appender.FileApp.MaxFileSize=20MB
log4j.appender.FileApp.MaxBackupIndex=10
log4j.appender.FileApp.layout=org.apache.log4j.PatternLayout
log4j.appender.FileApp.layout.ConversionPattern=%d{ISO8601} %r [%t] %-5p %c{1} - %m%n

默认文件输出路径为/tmp/log/app.log,用户安装的时候可以指定一个其他文件路径的脚本:

read input 
sed -i "s/ log4j.appender.FileApp.File=.*/ log4j.appender.FileApp.File=$input/g " log4j.properties 

 

2. shell读取配置文件参数

eg. 在Spring的配置文件applicationContext.properties中:

## MySQL DB part
mysql.db.user=root
mysql.db.password=password
mysql.db.schema=test

读取MySQL用户名、密码等的脚本:

ConfigFile=applicationContext.properties
UserLine=`sed -n "/mysql.db.user/p" $ConfigFile`
User=`echo ${UserLine#*=}`
echo $User
   #输出结果root

 

3. 删除applicationContext.properties中#开始的行:

sed -i "/^#/"d  applicationContext.properties

分享到:
评论

相关推荐

    shell脚本修改json中某个字段的值

    下面是一个基本的shell脚本示例,演示如何使用awk和sed修改JSON文件中的某个字段值: ```bash #!/bin/bash # 定义要修改的JSON字段名和新的值 field_to_change="name" new_value="新名称" # 使用awk定位含有字段...

    批量脚本工具batchtool

    2. 日志记录:在脚本中添加日志记录功能,便于追踪和排查问题。 3. 版本控制:使用版本控制系统(如Git)管理脚本,方便回溯和协作。 4. 审查与测试:在正式部署前,对脚本进行充分的审查和测试,确保其正确无误。 ...

    无涯教程(LearnFk)-Sed教程完整离线版.pdf

    ### 知识点总结 #### 1. Sed简介 Sed是一种流编辑器,用于解析和转换文本文件。...通过以上介绍的安装和使用方法,用户可以有效地在各类Linux系统中部署和利用Sed,以及AWK和Perl等类似工具,以完成各种文本处理任务。

    UOS/统信批量维护、更新脚本

    "UOS/统信批量维护、更新脚本" 提供了一种高效的方法来处理这一问题。UOS(统一操作系统)是中国自主研发的操作系统,它基于Linux内核,致力于提供安全、稳定、易用的计算平台。对于拥有众多UOS终端的用户而言,手动...

    离线安装 kubernetes 2.4资源包+安装shell脚本

    在这个“离线安装 Kubernetes 2.4 资源包+安装shell脚本”的主题中,我们将深入探讨如何在没有互联网连接的情况下安装和配置Kubernetes集群,以及如何利用shell脚本来自动化这一过程。 首先,离线安装Kubernetes...

    自动化部署 MySQL Shell脚本

    MySQL Shell脚本是一种高效的方法,用于自动化MySQL数据库的部署、管理及维护任务。在IT行业中,尤其是在运维领域,自动化是提升效率和减少错误的关键。本文将深入探讨如何使用Shell脚本来实现MySQL的自动化部署。 ...

    SHELL脚本自动部署KVM虚拟化

    ### KVM虚拟化技术及其自动部署脚本 随着IT行业的快速发展与技术创新,虚拟化与云计算技术已成为当前IT领域的热点之一。虚拟化技术的核心是通过在虚拟而非物理的基础上运行计算组件来简化管理和优化资源分配。虚拟...

    shell编程-监控硬盘使用率脚本

    3. **日志记录**:为了方便后续的审计和故障排查,可以在脚本中加入日志记录功能,记录关键步骤的输出。 4. **自动化部署**:可以通过配置管理工具(如Ansible、Puppet等)实现该脚本的自动化部署和管理。 5. **安全...

    unix power tools 3ed.pdf

    - **包管理器**: 如`apt`, `yum`, `brew`等的使用方法。 - **源码编译**: 从源代码构建软件的方法。 - **容器化**: 使用Docker等容器技术部署应用程序。 **7.4 Perl (Chapter 41: Perl)** - **Perl语言**: Perl的...

    linux部署常用命令.rar

    在Linux系统中,掌握一些常用的部署和管理命令是至关重要的,这些命令可以帮助我们高效地进行系统维护、软件安装以及服务配置。"linux部署常用命令"这个主题涵盖了诸多方面,包括文件操作、用户权限、网络配置、进程...

    大数据Hadoop安装部署文档

    - 在Eclipse中安装Hadoop插件。 - 配置Eclipse连接到Hadoop集群。 - 创建MapReduce项目,并编写测试程序。 - 编译并提交MapReduce作业到Hadoop集群。 ### Hadoop UI介绍 **七、Hadoop UI介绍** - **Hadoop ...

    Linux安装脚本

    在Linux系统中,安装脚本通常用于自动化安装、配置或管理软件的过程,这对于批量部署、持续集成或系统维护等场景非常有用。Linux-Setup-Scripts-master这个压缩包很可能包含了一系列用于自动化Linux系统设置的脚本,...

    Unix实验报告设计

    - **学习心得**:通过本次实验,不仅深入了解了Shell编程的基本概念和技术,还掌握了如何利用Shell脚本来解决实际问题的方法。 - **遇到的问题与解决策略**:实验过程中可能会遇到命令语法错误、逻辑错误等问题。...

    arch-install:拱安装脚本我和我的朋友帕斯卡尔写道

    在Shell脚本编程中,通常会使用各种内置命令和外部工具,例如`dd`用于数据复制,`fdisk`或`parted`进行磁盘分区,`mount`和`umount`管理文件系统挂载,`pacman`是Arch Linux的包管理器,用于安装和更新软件。...

    RHCE复习重点

    - 编写自动化安装脚本:学习使用Shell脚本实现服务器的批量安装。 **2. 文件访问权限** - 设定权限列表:根据需求为文件或目录设置特定的权限列表。 **3. 定时任务管理** - 延迟任务与定时任务:掌握使用`at`, `...

    Linux Shell Scripting Cookbook Linux Shell 脚本手册

    - 演示如何使用Shell脚本进行软件安装、配置文件修改等自动化部署工作。 - 讨论如何利用Shell脚本简化DevOps流程。 - **第6章:网络管理** - 教授如何编写脚本来进行网络测试、监控端口状态等。 - 分享一些实用...

    linux网络流量工具

    1. **安装必备工具**:确保服务器已安装bash shell以及`grep`, `sed`和`awk`等命令行工具。 2. **复制脚本**:将上述提供的`catstream`脚本复制到服务器上,并赋予其执行权限。 3. **运行脚本**:在终端中执行脚本,...

    Linux,Shell脚本资料大全.zip

    6. **Shell工具**:描述了“shell常用命令一键查找工具”,这可能是类似于“cheat.sh”或“tldr”的命令速查工具,能快速查询命令的使用方法。 7. **进阶主题**:可能包含正则表达式、进程控制、网络编程、系统调用...

    Red Hat Linux x86 安装指南

    本指南将详细阐述在个人计算机(PC)系统上安装Red Hat Linux x86版本的全过程,帮助初学者及专业人士顺利进行系统部署。 一、准备工作 1. 硬件需求:确保你的PC符合Red Hat Linux x86的最低硬件要求,通常包括至少...

Global site tag (gtag.js) - Google Analytics