sed 将内容一行行加载到内存空间,处理,然后再打印到屏幕; 默认是不修改源文件的
sed -niefr 'line action 修饰符' file ...-n 静默模式 , 只打印处理的行
-i 直接修改源文件
-e script -e script
-f sed_script
-r 使用egrep
line
1,1005
$
$-11,+2 第1行开始,向后的2行,即1~3行
/regexp/, /regexp/
action
d
p
a \str
i \str
r file
w file
s/regexp/str/
sed '1,$s/oot/OOT/' file 如果行范围是1,$即全文,则可省略 sed 's@oot@OOT@' file
& 引用匹配到的整个字符串
后向引用 \( \) \1 \2
修饰符 gi
示例:
sed '3,$d' file 删除
sed '1,+2d' file
sed '/oot/d' file 删除匹配到的行
sed '/^\//d' file 删除以 / 开头的行
sed -n '/^\//p' file 打印
sed '/^\//a \# hello world\n# hello linux' file 追加
sed '$r /etc/issue' file 读入
sed '1,2r /etc/issue' file
sed '/oot/w /tmp/oot.txt' file 写出
sed 's@l..e@&r@g' file
sed 's@\(l..e\)@\1r@g' file
history | sed 's#^[[:space:]]*##g' | cut -d' ' -f1