一,用法
sed [选项] [功能] 文件名/路径
选项:
-e | 多项编辑,在使用多个sed命令时使用 |
-n | 取消默认的输出,使用安静(silent)模式。在一般 sed 的用法中,所有来自stdin的资料一般都会被列出到屏幕上。 但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来 |
-f | 指定脚本文件名 |
-i | 直接修改读取的文件内容,而不是由屏幕输出 |
-r | sed支持延伸型正则表达式的语法,加-r后 可以换掉不用\ |
功能:
a | 插入,当前行后添加一行或多行。多行需在每行最后加“\” |
c | 替换,把当前行中的文本替换成符号后的新文本。多行需在每行最后加“\” |
s | 替换,用一个字符串替换另一个。通常和正则表达式搭配使用:5s/旧命令/新命令/g ,5表示行数,默认全行,g是全局 |
g | 全局替换 |
d | 删除行 |
i | 插入,在当前行之前插入文本,多行需在每行最后加“\” |
p | 打印行 |
q | 结束,退出sed |
r | 从文件中读取输入行 |
w | 将所选的行写入文件 |
x | 交换暂存缓冲区与模式空间的内容 |
! | 取反,对所选行以外的行生效命令 |
y | 将字符替换成另一字符(不支持正则) |
h | copy模板块的内容粘贴到内存中的缓冲区 |
l | 列出非打印字符 |
n | 直接读下一行,并从下一条命令处理 |
例子:
sed -i "s/^/www./g" | 在每行的开头都添加www. |
sed -i "s/ //g;s/,//g" | 去除所有行的逗号和空格 |
sed -i “s/.com/.cn/g a.txt | 把a.txt中的.com都改为.cn |
sed -n '2'p a.txt | 打印a.txt的第二行 |
sed -i "s/me/"you"&/" a.txt | 将‘you’增加到'me' 的前面 |
有问题联系q:2575815569