日期:2014-05-16  浏览次数:20624 次

linux sed 命令的简单应用

linux sed 命令 是linux shell脚本中比较重要的命令,下面就根据一个小小的需求来琢步分解一条较复杂的sed命令。

首先创建一个测试文档,命名为 test.log

1
2
3
4
5
1 li.maoyuan cost=123ms
2 mao.yuan cost=234ms
3 maoyuan.li cost=345ms
4 li.mao.yuan cost=456ms
5 mao.yuan.li cost=567ms

需求是将这个日志中包含 “li” 的记录,中间名称部分和后面的消费时间,拼成一句sql ,并存入数据库。

期望的结果是

1
2
3
4
insert into values ( "li.maoyuan" , "123" )
insert into values ( "maoyuan.li" , "345" )
insert into values ( "li.mao.yuan" , "456" )
insert into values ( "mao.yuan.li" , "567" )

下面来一步步的分解。

首先利用grep命令来过滤 “li”

1
2
3
4
5
[root@web68 sed]# grep 'li' test.log
1 li.maoyuan cost=123ms
3 maoyuan.li cost=345ms
4 li.mao.yuan cost=456ms
5 mao.yuan.li cost=567ms

然后来删掉记录前面的数字