查找
# 显示打印所有匹配行
sed -n '/a/p' a.txt
# 显示打印所有匹配行,并进行筛选
sed -n '/A/p' a.txt |grep A10
增加
# 文件尾部增加数据
echo "新增的内容" >> a.txt
# 文件行首增加数据
sed '1 i\sed command start' a.txt
# 文件的行尾增加数据
sed '$a \sed command end' a.txt
# 增加多行数据
sed -e '1 i\sed command start' -e '$a \sed command end' a.txt
删除
删除指定行(增加-i 为真正执行文件):
sed ‘Nd’ filename
# 删除第二行数据
sed 2d a.txt
# 删除m,n行数据
sed 'm,n'd a.txt
# 删除匹配的行
sed /A/d a.txt
替换
如果想替换的结果直接保存到原文中,就只需加上-i参数,否则将结果只是显示在屏幕上
sed -i ‘s/要替换的内容/新的内容/g’ 要处理的文件
# 将a替换成A前,查看替换的地方
sed -n 's/a/A/p' a.txt |grep A
# 将a替换成A,执行替换增加-i 参数
sed -i 's/A/a/g' a.txt
# 利用 多个sed命令也可以用-e参数连接起来,一次性完成多个操作替换
sed -e 's/a/A/g' -e 's/b/B/g' a.txt
# 替换指定行的数据(将第二行的数据替换)
sed '2c 这是替换后第二行的数据' a.txt -i