搜索
写经验 领红包

liuxsed命令详解(liux教程sed命令的用法)

导语:Linux sed命令介绍

简介

sed命令应用广泛,使用简单,是文本流编辑器的利器,逐行对文件的内容进行处理处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),可以指定仅仅处理哪些行。sed处理完成之后把缓冲区的内容送往屏幕,接着处理下一行,这样不断重复, 直到文件末尾。sed符合条件的处理,不符合条件的不予处理,文件内容并没有改变,除非用重定向存储输出。

一. 简单入门

1. 输出范围行

参数 -n 这个参数是--quiet或者--silent的意思。表明忽略执行过程的输出,只输出我们的结果即可。

我们常用的还有另外一个参数:-i。使用此参数后,所有改动将在原文件上执行。你的输出将覆盖原文件。非常危险,一定要注意。

范围1,4 表示找到文件中1,2,3,4行的内容。这个范围的指定很有灵性,请看以下示例(请自行替换图中的范围部分)。

5 选择第5行。

2,5 选择2到5行,共4行。

1~2 选择奇数行。

2~2 选择偶数行。

2,+3 和2,5的效果是一样的,共4行。

2,$ 从第二行到文件结尾。

范围的选择还可以使用正则匹配。

请看下面示例:

/abc/,+3 选择出现abc字样的行,以及后面的三行。 /^abc/,/xyz / 选择以abc开头的行,和出现xyz字样行之间的数据。

为了直观,下面的命令一一对应上面的介绍,范围和操作之间是可以有空格的。

sed -n &39; test.txt

sed -n &39; test.txt

sed -n &39; test.txt

sed -n &39; test.txt

sed -n &39; test.txt

sed -n &39; test.txt

sed -n &39; test.txt

sed -n &39; test.txt

操作 p表示打印

2 . 替换操作

替换模式的参数有点多,但第一部分和第五部分都是可以省略的,可以用、”39;s/aaa/bbb/&替换每一行的第1个aaa为bbb

sed &39; a.txt 39;s/aaa/bbb/2&替换每一行的第2个aaa为bbb sed &39; 39;s/^[0-9]/(&)/&将数字加上一个(), &为匹配到的内容

sed &39; file

sed &39; file

本文内容由小莉整理编辑!