Linux中Sed命令怎么用?

  

Sed介绍:

Sed是文本处理工具,读取文本内容,根据指定的条件进行处理如删除,替换,添加等
Sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(模式空间),接着用Sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。
Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作,编写转换程序等。

工作流程图

 Linux中Sed命令怎么用?

Sed三大功能:

1。读取:sed从输入流(文件,管道,标准输入)中读取一行内容并存储到临时的缓冲区中,
2。执行:默认情况下,所有的sed命令都在模式空间中顺序地执行,除非指定了行的地址,否则sed命令将会在所有的行上依次执行;
3。显示:发送修改后的内容到输出流,再发送数据后,模式空间将会被清空。

注意:默认情况下,所有的sed命令都是在模式空间内执行的,因此输入的文件并不会发生任何变化,除非是用重定向存储输出。

sed命令两种格式:

其中,“参数”是指操作的目标文件,当存在多个操作对象时用,文件之间用逗号”、“分隔;而scriptfile表示脚本文件,需要用“- f”选项指定,当脚本文件出现在目标文件之前时,表示通过指定的脚本文件来处理输入的目标文件。
sed(选项)的操作的参数
sed(选项)- f scriptfile参数

常见的sed命令选项:

语法:sed[选项][脚本][inputfile]
- e:允许执行多个脚本;
- f:从脚本文件中读取命令;
- h:显示帮助;
- n:取消默认输出。
我:直接修改原始文件;
- l:,指定行长度;
- u:最低限度的缓存输入和输出
- r:在脚本中使用正则表达式

常见的操作选项:

答:增加,在当前行下面增加一行指定内容,
c:替换,将选定行替换为指定内容,
d:删除,删除选定的行;
我:插入,在选定行上面插入一行指定内容,
p:打印,如果同时指定行,表示打印指定行,如果不指定行,则表示打印所有内容,通常与n选项一起使用。
s:替换,替换指定字符;
y:字符转换;

sed元字符集

^:匹配行开始,如:/^ sed/匹配所有以sed开头的行。
$:匹配行结束,如:/sed美元/匹配所有以sed结尾的行。
。:匹配一个非换行符的任意字符,如:/s。d/匹配年代后接一个任意字符,最后是d。

:匹配0个或多个字符,如:/* sed/匹配所有模板是一个或多个空格后紧跟sed的行。
[]:匹配一个指定范围内的字符,如/[ss] ed/匹配sed和sed。
[^]:匹配一个不在指定范围内的字符,如:/[^ A-RT-Z] ed/匹配不包含一个r和T-Z的一个字母开头,紧跟ed的行。
(. .):匹配子串,保存匹配的字符,如s/能力/\ 1 rs(爱),可爱的被替换成情人。
,:保存搜索字符用来替换其他字符,如s/爱/,/,爱这成爱。
\ & lt;:匹配单词的开始,如:/\ & lt;爱/匹配包含以爱开头的单词的行。
\祝辞:匹配单词的结束,如/爱\祝辞/匹配包含以爱结尾的单词的行。
x {m}:重复字符x, m次,如:/0{5}/匹配包含5个0的行。
x {m}:重复字符x,至少次,如:/0{5}/匹配至少有5个0的行。
x {m, n}:重复字符x,至少次,不多于n次,如:/0{5 10}/匹配5 ~ 10个0的行。

Sed常用操作

选择文本

 Linux中Sed命令怎么用?

Sed - n 5 p aa。txt

 Linux中Sed命令怎么用?

Sed - n & # 39; 2 p, p 5 # 39;aa。txt, #选择第2到5行第

 Linux中Sed命令怎么用?

Sed - n & # 39; 2 p; 5 p # 39;aa。三种,#选择第2和5行第

 Linux中Sed命令怎么用?

Sed - n & # 39;/^ 5/p # 39;aa。txt, #以5开头的行

 Linux中Sed命令怎么用?

Linux中Sed命令怎么用?