您的位置:首页 > 运维架构 > Linux

linux sed命令使用

2017-09-14 21:00 183 查看
sed 来源
stream editor"


本文主要内容:

sed输出指定行、排除指定行输出、非连续行输出、行替换显示,指定行后面添加内容

行数据替换,通配符,指定行范围

直接修改文件内容

-i:直接修改读取文件的内容,而不是由屏幕输出。 (-i,n用的多些)

动作

’n1,n2 function’ (其中n1-n2为function处理范围,function参数: [ acdips ])

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

-i:则是上一行

-c:替换n1-n2行为c后面的字符串。

-d:删除n1-n2行字符串。

-p:打印和sed -n结合使用

sed输出指定行、排除指定行输出、非连续行输出、行替换显示

输出指定行
sed -n 'n1,n2 p'
,例如2-3行,
sed -n '2,3p' filename


删除指定行
sed '2,3d' filename


指定行后面添加,字符串,例如 第二行后面添加’after line 2’

sed '2a after line 2'


指定行替换,例如2-3行替换为
'Line2-3'
sed '2,3c Line2-3'


输出myfile.txt lines 5-7 以及 10-13 :

sed -n -e '5,7p' -e '10,13p' myfile.txt




行数据替换,通配符,指定行范围

行部分数据的查找并替换,
sed  's/要被代替的字符串/新的字符串/g'


th替换为st,
sed 's/th/st/g'


每一行最后添加’Z’
sed 's/$/Z/g'


最后一个字符替换为’Z’ ,
sed 's/.$/Z/g'


最后一个字符为0-9则替换为’Z’,
sed 's/[0-9]$/Z/g'


行首添加’B’, sed ‘s/^/B/g’

行首添字符0-9替换为’B’, sed ‘s/^[0-9]/B/g’

替换指定行,例如替换30-40行

sed '30,40 s/version/story/g' myfile.txt


i 忽略大小写替换
sed 's/version/story/gi' myfile.txt




直接修改文件内容

sed -i 's/src/dst/g' filename


例子:将文档的每一句的最后的 . 改为 !



如果转载请在下面留言, 尊重别人的劳动成果!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux-sed