`

Linux_Stream Editor

阅读更多
sed是一个文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除查看以及增加。

他的工作方式就是先从输入读取到的东西放入模式缓冲区,然后在对模式缓冲区进行操作。

 

参数选项:

-e : 在命令行模式上进行sed的操作

-n : 取消默认输出

-fsed动作写在一个文件内。然后-f就是启动这个脚本

-I : 修改读取的内容,而不是打印到控制台。

操作选项:

a: 新增,在当前行的下一行

c: 替换

s:替换

d: 删除

i:增加 ,在当前行的上一行

p: 打印

 

常见的例子:

删除:

删除某一行,5表示行数,d表示删除

sed -e '5d' /tmp/passwd.bak

范围删除,比如删除1-4行这个区间

sed -e '1,4d' /tmp/passwd.bak

删除最后一行:

sed -e '$d' /tmp/passwd.bak

删除空白行:

sed -e '/^$/d' /tmp/passwd.bak

 

显示:

显示第一行:

sed -n '1p' /tmp/passwd.bak

显示第m到第n行:

sed -n '1,3p' /tmp/passwd.bak

显示最后一行:

sed -n '$p' /tmp/passwd.bak

 

新增:

在某一行之后增加

sed '$a Nicky Test The Stream Editor\nThis the second line' /tmp/passwd.bak

在某几行之后增加

sed '2,4a Nicky Test The Stream Editor' /tmp/passwd.bak

在某一行之前增加:

sed '$i Nicky Test The Stream Editor' /tmp/passwd.bak

 

 

替换操作:

某一行替换成什么

#最后一行替换成ReplaceLine

sed '$c ReplaceLine ' /tmp/passwd.bak

#m行到第n行替换成

sed '4$c ReplaceLine ' /tmp/passwd.bak

***********************************************************

如果只是替换行中某一部分而言,需使用s命令

这里涉及到sed的规则表达式,s///

#把文件中root替换成nickyzhang,s表示替换,g表示全局,如果不指定是否全局,默认就替换第一个找到的

sed 's/root/nickyzhang/g' /tmp/passwd.bak

 

分享到:
评论

相关推荐

    Linux_Stream_Editor

    Linux Stream Editor,简称`sed`,是Linux操作系统中的一个强大文本处理工具,它在数据流处理方面表现出色,允许用户对输入流(标准输入、文件或管道)进行实时编辑,而无需创建临时文件。`sed`的名字来源于"stream ...

    sed stream editor 中文版(PDF)

    Sed-Stream Editor.pdf

    sed_truth3j7_linux_bash_sed_源码

    `sed`(流编辑器Stream Editor)是Linux工具箱中的一个强大工具,用于处理文本流。在这个名为"sed_truth3j7_linux_bash_sed_源码"的压缩包中,我们可以推测包含了一份关于如何在Linux Bash环境下编写和使用`sed`脚本...

    LINUX_sed_使用

    Sed,全称Stream Editor,是Linux/Unix系统中的一款流编辑器,用于对输入流(文件或者管道)进行非交互式文本处理。它的强大之处在于可以一次处理一行内容,并通过预定义的命令序列实现对文本的自动化编辑操作。下面...

    Linux_sed_批量替换字符串方法

    `sed`(stream editor)是一款功能强大的文本处理工具,在Linux系统中被广泛应用于批量处理文本文件,特别是进行字符串查找、替换等操作。本文将详细介绍如何使用`sed`进行批量替换字符串,并通过具体的例子来加深...

    shell_program.rar_Linux/Unix编程_Unix_Linux_

    sed,全称Stream Editor,是一种流编辑器,它可以对输入流(文件或者管道)进行读取、处理并打印。在shell脚本中,sed常用于文本处理,例如替换、删除、插入文本行,或是对文件进行查找和替换操作。sed的强大之处...

    Mastering Linux Shell Scripting

    Implement functions and edit files using the Stream Editor, script in Perl, program in Python – as well as complete coverage of other scripting languages to ensure you can choose the best tool for ...

    Mastering Linux Shell Scripting.epub

    Implement functions and edit files using the Stream Editor, script in Perl, program in Python – as well as complete coverage of other scripting languages to ensure you can choose the best tool for ...

    Mastering Linux Shell Scripting.mobi

    Implement functions and edit files using the Stream Editor, script in Perl, program in Python – as well as complete coverage of other scripting languages to ensure you can choose the best tool for ...

    跟老男孩学linux三剑客命令V1.5

    sed,即"Stream Editor",是一个流编辑器,可以对输入流(文件或管道)进行实时编辑。在sed中,你可以学习到如何使用地址范围、模式空间、命令和替换操作来处理文本,如查找替换、删除行、插入文本等。这对于自动化...

    Mastering Linux Shell Scripting 2nd Edition

    Linux, which is Stream Editor. As we are still talking about text processing, we will introduce AWK, one of the best text processing tools in Linux that you will ever see. After this, you will learn ...

    Mastering Linux Shell Scripting(PACKT,2015)

    Implement functions and edit files using the Stream Editor, script in Perl, program in Python – as well as complete coverage of other scripting languages to ensure you can choose the best tool for ...

    Linux程序设计学习资料

    Sed(Stream Editor)和Awk是两种强大的文本处理工具。Sed用于对输入流(数据流)进行实时编辑,可以实现替换、删除、打印等功能,常用于批量处理文本文件。Awk则是一种编程语言,用于处理结构化数据,特别适合数据...

    跟老男孩学linux三剑客命令

    **sed命令**,即Stream Editor,它可以逐行读取输入,执行一系列指定的编辑操作,然后将结果输出。sed常用的功能包括替换、删除、插入和打印特定行。与grep不同,sed可以对整个文件进行无损编辑,而且能处理流式数据...

    linux-sfb采用GNUsed编写的FlappyBird

    GNUsed是GNU Sed(Stream Editor)的简称,它是一个强大的文本处理工具,常用于文本流的转换和过滤。在一般情况下,Sed被用于批处理文本文件,进行模式匹配、替换和删除等操作。然而,这里的创新之处在于,开发者...

    Mastering Linux Shell Scripting.pdf

    Implement functions and edit files using the Stream Editor, script in Perl, program in Python – as well as complete coverage of other scripting languages to ensure you can choose the best tool for ...

    linux三大工具

    **sed** 是“Stream Editor”的简称,它可以在数据流中对文本进行实时编辑,无需创建临时文件。sed可以执行诸如替换、删除、插入等操作,对文本进行批量处理。它的基本用法是通过指定地址范围和命令,如`s/old/new/`...

    Linux资料

    Sed(Stream Editor)是Linux/Unix环境中的一种流式文本编辑器,常用于数据转换和文本处理任务。它可以在不改变原始文件的情况下,对输入流(标准输入或文件)进行读取、处理并输出。Sed支持各种操作,包括替换、...

Global site tag (gtag.js) - Google Analytics