sed [-nefr] [动作]
-n : 使用静默模式。在一般sed的用法中,所有来自STDIN的数据都会被列在屏幕上,用上-n参数后,只显示出sed处理过的数据。
-e : 直接在命令行模式进行sed编辑。
-f : 直接将sed的动作写在一个文件夹内,-f filename则可以执行filename内的sed动作。
-r : sed的动作支持扩展型正则表达式的语法。
-i : 直接修改读取的文件内容,而不是屏幕输出。
动作说明:
[n1[,n2]]function
n1,n2:可选,一般代表选择进行动作的行数。
动作要用''括起来
action 有以下参数:
a:新增,a后面的字符串出现在下一新行。
c:替换,c后面的字符串可以替换n1,n2之间的行。
d:删除,一般不接参数
i:插入,后面接的字符串出现在上一新行。
p:打印,将选择的数据打印出来,通常与sed -n 一起运行。
s:替换,可以直接进行替换工作,通常可搭配正则表达式。
多行命令:
nl test | sed '2a drink tea \
> or milk\
> or beer'
除了最后一行命令结束用',每一行都要有'\'
查找替换:
sed 's/要替换的字符串/新的字符串/g'
删除空行:sed '/^$/d'