sed进阶教程
Posted kelamoyujuzhen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sed进阶教程相关的知识,希望对你有一定的参考价值。
寻址规则
常规寻址
- 如果没有指定地址,那么命令将应用于每一行。
- 如果只有一个地址,那么命令应用于与这个地址匹配的任意行。
- 如果指定了由逗号分隔的两个地址,那么命令应用于匹配第一个地址(不包括第一个地址)到匹配第二个地址的行(包括此行)。
- 如果地址后面跟有感叹号(!),那么命令就应用于不匹配该地址的所有的行。
举例
ed中使用寻址扩大受命令影响的行数;sed使用寻址限制受命令影响的行数。
测试文本:list
John Daggett, 341 King Road, Plymouth MA Alice Ford, 22 East Broadway, Richmond VA Orville Thomas, 11345 Oak Bridge Road, Tulsa OK Terry Kalkas, 402 Lans Road, Beaver Falls PA Eric Adams, 20 Post Road, Sudbury MA Hubert Sims, 328A Brook Road, Roanoke VA Amy Wilde, 334 Bayshore Pkwy, Mountain View CA Sal Carpenter, 73 6th Street, Boston MA
删除所有行
d
删除首行
1d
删除尾行
$d
删除空行
/^$/d
删除了从第一行直到第一个空行的所有的行,可用它来删除保存在文件中的Internet邮件消息中的邮件头。
1,/^$/d
嵌套寻址
sed使用大括号{}将一个地址嵌套在另一个地址中,或者在相同的地址上应用多个命令。
举例
/ˆ.TS/,/ˆ.TE/{ /ˆ$/d s/ˆ.ps 10/.ps 8/ s/ˆ.vs 12/.vs 10/ }
书写要求
左大括号必须在行末
右大括号本身必须单独占一行
确保在大括号之后没有空格。
以上是关于sed进阶教程的主要内容,如果未能解决你的问题,请参考以下文章
我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情