Linux的sed命令详解大全

sed(stream editor)是一个非交互式的文本编辑器,可以对文本文件进行流式操作和编辑,是在Linux和Unix操作系统上广泛使用的一种命令行工具。以下是Linux的sed命令详解大全:

1. 基本用法

sed[option]... {script-only-if-no-other-script}[input-file]...

其中,option是sed命令的选项,可以包含多个选项,script是sed的编辑脚本,可以包含多个命令,input-file是要处理的文本文件。

2. 替换文本

sed's/old/new/g'input-file

这个命令用来替换input-file文件中的所有old字符串为new字符串。其中,s表示替换操作,g表示全局替换(默认只替换第一次出现的字符串)。

3. 打印文本

sed -n'2p'input-file

这个命令用来打印input-file文件中的第二行内容。-n选项表示不打印文本文件的内容,2p表示打印第二行内容。

4. 删除行

sed'1d'input-file

这个命令用来删除input-file文件的第一行内容。其中,d表示删除操作。

插入行

sed'1i\new line'input-file

这个命令用来在input-file文件的第一行之前插入一个新行。其中,i表示插入操作,new line表示要插入的内容。

追加行

sed'$a\new line'input-file

这个命令用来在input-file文件的最后一行之后追加一个新行。其中,$表示最后一行,a表示追加操作,new line表示要追加的内容。

多条命令

pythonCopy code

sed'1d; 2s/old/new/g'input-file

这个命令用来删除input-file文件的第一行,替换input-file文件的第二行中的所有old字符串为new字符串。其中,分号用来分隔不同的命令。

正则表达式

sed'/^#/d'input-file

这个命令用来删除input-file文件中以#开头的行。其中,^表示行首,#表示#字符,d表示删除操作。

匹配文本

sed'/pattern/p'input-file

这个命令用来打印input-file文件中匹配pattern的行。其中,p表示打印操作。

多行命令

sed'/start/,/end/d'input-file

这个命令用来删除input-file文件中从start到end之间的所有行。其中,/start/和/end/是模式,d表示删除操作。

以上是Linux的sed命令的常见用法,可以满足大多数文本编辑需求。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容