sed命令

      sed是流编辑器,每次从文本读出一行放入pattern space(模式空间)中,如果可以被pattern space内存空间匹配到,sed就会对其执行预定的编辑(替换,删除)然后输出至标准输出,不能被匹配直接标准输出。画一张图有利于理解。非交互式编辑器非交互式就是只能在命令行内完成对文本的操做wKiom1Z8Aaigktq_AAA5VnVbChs772.png


sed用法

wKioL1Z8BXLQkOrcAAAILB-64vk974.png

sed 选项 ‘/pattern/动作’文件路径

sed常用选项

-n不输出模式空间内容到屏幕,被处理的行列出来

-e:进行多项编辑,对输入行应用多条sed命令时用

-f:直接把sed命令写进文件,-f就是执行文件内的sed命令

-r:支持正则表达式

-i:直接编辑源文件


sed常用的命令(编辑)

-d:删除

-a:新增,a的后面接字符串,加的字符串会下一行出现。

-i:插入,i后面接的字符串会出现在此行前出现。

-c:替换,把匹配到的行替换为指定的行。

-w:保存模式空间匹配到的行至指定文件。

-r:读取指定文件内容到当前文件被匹配到的行后面。

!:对没有匹配到的行进行编辑

-s:可以和正则表达式一起用,可以替换



示例:

1、在sed1文件第六行后添加一行,先看看原文件

wKioL1Z8FZWC1PVYAAAVAqiCXtk862.png

2、被修改后的文件 动作a(在指定行后面加信息)

wKioL1Z8FbaTepW7AAAWgqbnpwI751.png



以行为单位进行增删

wKiom1Z8F2CzWoG_AAAVAqiCXtk606.png

把sed1中4到6行删除  动作d(删除)

wKioL1Z8F5nQVKQuAAAS4Z6T5ak215.png




先cat sed1

wKioL1Z8GPuSAogJAAAVAqiCXtk413.png

在sed1第一行加上LPLPLP 动作i(在指定行前面加上指定信息)想在第几行前加就写ni

wKiom1Z8GSryf68tAAAWJhxJ2Zw567.png



只列出1到3行

wKiom1Z8GlagT2wZAAASetXsSNE047.png


在第一行后面加上两行 \n用来换行

wKiom1Z8HMOj_rUjAAAYAzpHgJs139.png



删除搜寻到的字符串,删除sed1中的bb

wKiom1Z-bH6CmRiXAAAS75bUogw015.png

wKiom1Z-bI3Ah858AAARqv9dRXE628.png



多点编辑把1-2行删除,把eeeeee替换为EEEEEE

wKioL1Z-bvSQDDIJAAASmjQagmg355.png

wKioL1Z-bv7h3BdKAAARv8D_e2s225.png


动作c和s的的区别 c是全部替换  s是对行进行替换

wKioL1Z-lo-y3kYPAAAZotyCqbc936.png




在最后一行加上一行

wKiom1Z-cpahraC7AAAWClB9z20072.png


只显示指定行(显示sed1中包含f的行)

wKioL1Z-hoGDrZUOAAAbYBNmvW8814.png

你可能感兴趣的:(字符串,表达式,编辑器,源文件,执行文件)