linux中的sed命令

来源:互联网 发布:澳洲女留学生 知乎 编辑:程序博客网 时间:2024/06/01 12:29

昨天我学习了awk,今天来学习一下sed:

sed是一个管线命令,可以分析standard inputer,并且能对数据进行取代,新增,删除,截取特定行等功能。

sed [-nefri] [动作]

-n:使用安静(silent)模式。一般在sed中所有来自STDIN的数据一般都会被列出在荧幕上,但如果加上-n参数后,只有经过sed处理后的那一行数据才会显示出来

-e:直接在命令列模式上进行sed的动作编辑

-f:直接将sed动作写在一个文件内,-f filename则可以运行filename内的sed动作。

-r:sed动作支持的是延伸型正规表示法的语法(默认为基础型)。

-i:直接修改读取的文件内容,而不是由荧幕输出。

动作说明:[n1] [n2] function:n1,n2表示选择动作进行的行数,即在n1,n2行之间执行接下来的function

常用动作:

a:新增,a后面可以接字串,该字串会在目前行的下一行出现

c:取代,后接字串,取代n1,n2之间的行

d:删除

i:插入,后接字串,会在目前行的上一行出现

p:列印,常与参数-n一起运行,将选择的某个数据印出

s:取代,直接进行取代的工作