sed 借个使用的例子及特殊符号说明

例子:

1。

字符串:<ERecList Size="1" Total="2518 "> 

要求  :抽取2518这个数字:


实现:echo "<ERecList Size=/ "1/ " Total=/ "2518/ ">" | sed 's/<ERecList Size=/ "1/ " Total=/ "//g' | sed 's// ">//g'


Note:注意转移符号:/ 。 都用红色标出。


2。

字符串(url):http://abc13.EFG.com:4160/graph?node=26125 &offset=0&nbins=1&irversion=601&format=xml

  要求: 从以上字符串中抽取:26125


实现:echo $url | sed 's/^.*node= //g' | sed 's/&.*$ //g'


1) ^ : 代表当前行首:^.*node= 表示行首到node=以及他们二者之间包括的所有字符

2) $ : 代表当前行尾 : &.*$ 表示&到末尾,以及它们之间的所有字符

3) & : 代表其前 pattern 字串

例:sed -e 's/test/& my car/' 替换后变为:test my car

4) /t.*t/d "." 表示任意字元; "*" 表示当前字元可重任意次 , 它们结合 ".*" 表示两 "t" 字母间的任意



========= 其他=================================================================

常用option

-i 此选项可以自动把修改结果保存到文件中,不然会打印到stdout

-n 就是不把文件打印到标准输出。

-e 可以多个命令一起使用,用它连起来就好了

 

引号内的命令:

s 替换

d 删除

a 添加

p 打印

r 读入它档内容

w 写资料到它档内

a/ 添加字符串,输入的资料必须从下一行输入

 

1 在每一行开始处插入5 个空格( 整页偏移)
  sed i s/^ / / test.c
2
删除每一行开头的空白( 空格,TAB) 左对齐排列全文

sed  -i 's/^ [ t]*//' test.py

^ [ /t]* 的含义为以空格或者TAB 键开始的( 或者是他们的组合)

3 在每一含有"baz" 的行中用"bar" 替换( 查找并替换)foo"
  sed i /baz/s/foo/bar/g
4
在每一含有"baz" 的行中用行首加注释

   sed i '/ baz /s/^ /#/g'

5 删除两个字符串之间的行

Sed  -i  /abc/,/123/d test.c

Sed  -i  2,10d 删除210
6
在当前行的下一行插入文件

Sed  -i  /hello/a/ ******

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值