天天看点

sed

#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

上一篇: vi
下一篇: awk