#1 删除
[root@localhostruby] # sed '1d' ye.txt #删除第一行
[root@localhostruby] # sed '$d' ye.txt #删除最后一行
[root@localhostruby] # sed '1,2d' ye.txt #删除第一行到第二行
[root@localhostruby] # sed '2,$d' ye.txt #删除第二行到最后一行
[root@test125~] # sed '/00/d' ye.txt #删除匹配的行
进行简单运算
#2 显示
[root@localhostruby] # sed -n '1p' ye.txt #显示第一行
[root@localhostruby] # sed -n '$p' ye.txt #显示最后一行
[root@localhostruby] # sed -n '1,2p' ye.txt #显示第一行到第二行
[root@localhostruby] # sed -n '2,$p' ye.txt #显示第二行到最后一行
#3 查询显示
[root@localhostruby] # sed -n '/ruby/p' ye.txt #查询包括关键字ruby所在所有行
sed -n'/[a|b]/p' test.txt #查询包括关键字a或者b所在所有行
#4 查字符所在行
cat -n weibo_hot.log |grep “start_time:2014-07-1”
# 比如从第3行到第10行
sed -n '3,10p' myfile > newfile
# 查看该文件一共多少行
cat weibo_hot.log |wc -l
#下载到桌面
sz weibo_hot_tmp.log
# 添加
[root@localhostruby] # sed '1a drink tea' ye.txt #第一行后增加字符串"drink tea"
[root@localhostruby] # sed '1,3a drink tea' ye.txt #第一行到第三行后增加字符串"drink tea"
[root@localhostruby] # sed '1a drink tea\nor coffee' ye.txt #第一行后增加多行,使用换行符\n
# 替换一行或多行
[root@localhostruby] # sed '1c Hi' ye.txt #第一行代替为Hi
[root@localhostruby] # sed '1,2c Hi' ye.txt #第一行到第二行代替为Hi
#替换一行中的某部分
#格式:sed 's/要替换的字符串/新的字符串/g' (要替换的字符串可以用正则表达式)
# 将字符串my替换为YEQING
sed"s/my/YEQING/g" ye.txt
# 找到二行替换
cat ye.txt |sed's/100/#100/g' |sed 's/200/#200/g'
[root@localhostruby] # sed -n '/ruby/p' ab | sed 's/ruby/bird/g' #替换ruby为bird
本文转自cloves 51CTO博客,原文链接:http://blog.51cto.com/yeqing/1598302