sed介绍
sed(stream editor)是一种非交互式的流编辑器,通过多种转换修改流经它的文本。默认情况下,sed不会改变原文件本身,而只是对流经sed命令的文本进行修改,并将修改后的结果打印到标准输出中。
sed处理文本时是以行为单位的,每处理完一行就立即打印出来,然后再处理下一行,直至全文处理结束。sed可做编辑动作包括删除、查找替换、添加、插入、从其他文件读入数据等。
sed命令使用的场景包括以下一些:
常规编辑器编辑困难的文本。
太过庞大的文本,使用常规编辑器难以胜任(如vi一个几百兆的文件)。
有规律的文本修改,加快文本处理速度(比如说全文替换)。
sed命令的功能十分强大,由于sed本身的复杂度,以及和正则表达式的结合,使用sed命令非常难以掌握。只有不断的多读用,才能深刻的理解和记住sed的功能。
sed常用的命令:
sed命令 作用
a 在匹配行后面加入文本
c 字符转换
d 删除行
D 删除第一行
i 在匹配行前面接入文本
h 复制模板块的内容到存储空间
H 追加模板块的内容到存储空间
g 将存储空间的内容复制到模式空间
G 将存储空间的内容追加到模式空间
n 读取下一个输入行,用下一个命令处理新的行
N 追加下一个输入行到模板块后并在二者间插入新行
p 打印匹配的行
P 打印匹配的第一行
q 退出sed
r 从外部文件中读取文本
w 追加写文件
! 匹配的逆
s/old/new 用new替换正则表达式old
= 打印当前行号
sed常用的参数:
sed参数 作用
-e 多条件编辑
-h 帮助信息
-n 不输出不匹配的行
-f 指定sed脚本
-V 版本信息
-i 直接修改原文件
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。