`

sed 常见用法

阅读更多

sed 常见用法

(1)添加注释

sed -i 's/^\(77\)/# \1/' /tmp/abc/test.txt

 

注释掉指定行:

sed -e '2,3{s/^/#/}' test.txt

 说明:注释掉第2行和第三行

 

删除c语言的注释(//)

sed -e 's/\/\/\(.*\)/\1/g' fenzhifa.c

 

 

(2)删除注释

sed -i 's/^#[[:space:]]*//'  /tmp/abc/test.txt

 

 

(3)获取脚本所在目录

shell脚本文件名称:loc.sh

内容:

#!/bin/sh

#---------------------------- locate this_dir ----------------start
## this file path
this_dir=`pwd`
dirname $0|grep "^/" >/dev/null
if [ $? -eq 0 ];then
    this_dir=`dirname $0`
else
        dirname $0 | grep "^\.$" >/dev/null
        if [ $? -ne 0 ];then
                this_dir=`dirname $0|sed "s#^#${this_dir}/#"`
        fi
fi
echo $this_dir
#---------------------------- locate this_dir ----------------end

 执行:

ctier@allinone-yunyingyong-2-v-o:/tmp/abc/ccc$ ./loc.sh 

/tmp/abc/ccc

 

(4)在键值对后面增加export

sed -e "s#\(.*\)=.*#&\nexport \1#" prop.txt

 prop.txt的内容如下:

name=whuang

age=27

 

运行结果:

ctier@allinone-yunyingyong-chanjet02-v-o:/tmp/abc$ sed -e "s#\(.*\)=.*#&\nexport \1#" prop.txt 

name=whuang

export name

age=27

export age

 

对于path变量

ctier@allinone-yunyingyong-chanjet02-v-o:/tmp/abc$ sed "s#\(.*\)=\(.*\)#if [ x\"$\1\" = x ];then\n\t&\nelse\n\t&:\"$\1\"\nfi\nexport \1#" prop.txt 

if [ x"$name" = x ];then

name=whuang

else

name=whuang:"$name"

fi

export name

if [ x"$age" = x ];then

age=27

else

age=27:"$age"

fi

export age



 

 

 

(5)解决中标麒麟注册服务失败的问题

#!/bin/sh

if [ `id -u` -ne 0 ];then

         echo "Please rerun this script as root ."

         exit 2

fi

if [ -z "$1"  ];then

    echo "please specify patch path:"

         exit 2

fi

 

#-------------------------------- function start ------------------------------------------

delete_Required_Start()

{

         filePath="$1"

         if [ -f "$filePath" ];then

                   sed -i '2,10{/Required-Start/d;}'  "$filePath"

                   sed -i '2,10{/Required-Stop/d;}'  "$filePath"

         fi

}

#-------------------------------- function end ------------------------------------------

 

 

this_dir=`pwd`

patch_path="$1"

ls "$patch_path/patch.sh" >/dev/null 2>&1

if [ $? -eq 0 ];then

         patch_path="$patch_path/patch"

fi

server_bin="$patch_path/patch/build/SERVER/bin"

tomcat_bin="$patch_path/patch/build/STOOLS/tomcat/bin"

cd "$server_bin"

for ii in `ls *7d`;do

         delete_Required_Start "$ii"

done

 

cd "$tomcat_bin"

for ii in `ls *7d`;do

         delete_Required_Start "$ii"

done

 

sed -i 's/log_warning_message\([ ]*(\)/log_warning_msg\1/' /lib/lsb/init-functions

 

cd "$this_dir"

 

 

  • 大小: 26.5 KB
0
2
分享到:
评论

相关推荐

    linux sed 常用用法举例01

    本篇文章将重点介绍`sed`的一些常用用法,以帮助读者更好地理解和应用这个工具。 1. **基本语法** `sed`的基本命令格式是: ``` sed [选项] '命令' 文件 ``` 其中,`选项`通常用于设置工作模式,`命令`是你要...

    sed中文指南 详细介绍了SED的用法与实例

    ### SED中文指南:深入解析SED的用法与实例 #### 1. SED简介 SED,全称为Stream Editor,是一种强大的文本处理工具,广泛应用于UNIX系统中,用于自动化文本编辑任务。它允许用户通过一系列预定义的命令来对文本...

    linux下sed的用法

    `sed`支持常见的正则表达式元字符,如`^`表示行首,`$`表示行尾,`.`表示任何字符,`*`表示零个或多个前导字符,`[]`用于创建字符集,`[^]`表示不在字符集内的字符,`\(..\)`用于保存匹配的子串,`\1`等用于引用保存...

    Linux下sed命令的用法

    本文将详细解读sed命令在Linux环境下的用法,包括其基本语法以及常见用例。 首先,sed命令的基本语法格式为: ``` sed [选项] '脚本' [文件] ``` 其中,选项部分可以用于控制sed的行为,例如-i选项可以用于直接...

    LINUX的awk和sed的常用用法

    LINUX 的 awk 和 sed 的常用用法 awk 是一种功能强大的文本处理工具,它可以在文件或字符串中基于指定规则浏览和抽取信息。awk 语言的最基本功能是在文件或字符串中基于指定规则浏览和抽取信息。 调用 awk 有三种...

    通用线程sed 实例

    4. **自动化的编辑过程**:sed可以通过编写简单的脚本来自动化常见的编辑任务。 #### GNUsed:最佳sed版本之一 对于Linux用户而言,GNUsed是一个非常优秀的sed版本,其最新版本为3.02.80。相比早期版本,GNUsed...

    Linux的常用命令cat、sed、zip等用法,以及shell编程的基本语法,以及makefile编写方式等等

    `gzip`和`zip`是常见的文件压缩工具,它们可以减小文件占用的空间。在权限管理方面,`chmod`命令用于更改文件或目录的权限,`chown`和`chgrp`用于改变文件的所有者和组。 `vi/vim`是流行的文本编辑器,而`gcc/g++`...

    sed安装文件(dll拷到CWindowsSysWOW64,sed.exe拷到CWindowsSystem32).rar

    例如,`sed`的一个常见用法是替换文本,如: ```bash sed 's/old/new/g' input.txt > output.txt ``` 这个命令会读取`input.txt`文件,将所有出现的"old"字符串替换为"new",并将结果保存到`output.txt`中。这里的...

    SED命令完全解读

    ### SED用法介绍 1. **基本格式**: SED命令的基本格式为: ``` sed [-n] [-e] 'command' file(s) sed [-n] -f scriptfile file(s) ``` 其中,`-n`选项抑制默认的输出,`-e`选项后跟单个命令,`-f`选项用于从...

    sed基础教程

    使用sed进行文本替换是最常见的用法之一。替换命令`s/old/new/`可实现将文本中的old内容替换为new。如果需要全局替换,可以在末尾加上`g`。而`p`命令可以用来打印出修改后的行,`w`命令可以将修改后的行写入到一个...

    linuxsed命令全参数及用法详解.docx

    ### Linux sed 命令全参数及用法详解 #### 一、sed 命令简介 `sed`(stream editor)是 Linux 和 Unix 系统中的一个强大的文本处理工具,它能够对输入流(标准输入或文件)进行编辑、过滤、替换等操作,并将结果...

    linux shell sed

    本文将基于提供的材料,详细介绍`sed`的基本概念及其常见用法。 #### 基础知识 `sed`命令的一般格式如下: ``` sed [选项] [脚本] [文件] ``` - **选项**:用于指定特定的行为模式。 - **脚本**:一系列的`sed`...

    awk和sed简体中文手册

    1. `awk`和`sed`的基本用法:包括命令行选项、基本语法结构和常见操作。 2. 表达式和模式:`awk`的模式-动作结构和`sed`的地址范围。 3. 字段和记录:`awk`中的字段分隔符和`NF`变量,以及`sed`中的行处理。 4. 正则...

    sed命令详解.docx

    - **正则表达式元字符**:除了常见的元字符,sed还支持诸如`\b`(单词边界),`\{m\}`, `\{m,n\}`等更复杂的构造。 总结来说,sed是一个强大的文本处理工具,通过其丰富的命令和正则表达式功能,可以实现对文本文件...

    grep,sed, awk 总结

    Linux系统中,文本处理是一项常见且重要的任务,grep、sed和awk是三个常用的文本处理工具,因其功能强大,被誉为Linux文本处理的"三剑客"。下面将详细总结这三个工具的使用方法和相关知识点。 ### grep grep是用于...

    linux脚本编程中的sed详解

    根据给定的部分内容,我们可以进一步了解sed的一些高级用法: 1. **地址选择** - 地址选择用于指定sed命令作用的行范围。 - 示例:`sed '1,5p' file` 表示打印第1到第5行的内容。 2. **模式匹配与替换** - 使用...

    sed awk高级编程案例

    在本文中,我们主要探讨了sed和awk两种工具在Linux环境下进行文本处理的各种高级用法,涉及从文件读取数据、字符串处理、字符编码转换和特殊字符替换等多个实用案例。接下来,我们将对各个案例进行详细解析。 首先...

    sed&awk;

    在Linux和Unix系统中,文本处理是一项常见的需求。其中,`sed`(stream editor)和`awk`是两款非常强大的文本处理工具,它们不仅功能强大而且极其灵活。本文将详细介绍这两款工具的基础知识以及一些高级用法,帮助...

Global site tag (gtag.js) - Google Analytics