Linux命令之Sed——文件编辑神器(linuxsed文件)


Linux系统中使用较多的命令中,其中有一个重要命令就是Sed,它可以帮助我们简单地编辑文本文件,大大地减轻了我们的工作量。Sed是Stream EDitor(流编辑器)的缩写,它是一种强大的、非交互式的文本流编辑器,可以通过管道从STDIN或文件中读入,也可以通过管道输出到文件或标准输出,也可以作为bash中的子程序内联使用,这个工具经常被系统管理员用在shell脚本里,被俗称为文件编辑神器。

用Sed命令加快文件操作的首要技巧就是学会使用正则表达式,例如:基本模式/匹配内容/,注意正则表达式中/和匹配内容之间也可以有空格,也可以不加空格。下面我们来看一个Sed实例,我们可以使用Sed来编辑文本文件,例如网页源码文件。假设我们有一个文本文件html.txt,文件内容如下:



This is title


This is paragraph




现在我们想修改title内容,把它替换成“Sed Editor”,可以使用下面的Sed命令:

`sed -i ‘s/.*/<title>Sed Editor/’ html.txt`</p><p><p>上面的Sed命令首先使用了s,代表Substitute,表示替换。然后是/<title>.*/,指定了我们要替换的字符串,也就是title标签中间的内容(.*表示任意字符,\表示转义),最后是替换为<title>Sed Editor/,也就是我们想要改为的title内容,接下来就是文件名html.txt,即执行命令的文件名。</p><p><p>命令执行完成之后,文件html.txt里的内容就改变了,现在看看新的html.txt:</p><p><pre><br><br> <title>Sed Editor


This is paragraph




可以看到,title内容就由“This is title”替换为了“Sed Editor”,从而完成了我们的修改替换操作。

总的来说,Sed可以节省我们的一部分工作,它的功能强大,而且易用,大大提高了文件编辑的效率。这个神奇的编辑器肯定是必不可少的 尤其在发布新版本时。基于上面的介绍,相信你也熟悉Sed命令,在实际的文件操作中能够灵活运用起来。