文本处理三剑客之sed高级用法

sed基本命令

sed命令的语法

行地址对于任何命令都是可选的。它可以使一个模式,被描述为由斜杠、行号或行寻址符号括住的正则表达式。大多数 sed 命令能接受由逗号分隔的两个地址,这两个地址,这两个地址用来标识行的范围。这些命令的语法格式为:
address]command
有一些命令只接受单个行地址。它们不能应用于某个范围的行。它们的语法格式为:
[line-address]command

还可以用大括号进行分组以使其作用于同一个地址:

替换

详细用法:[address]s/pattern/replacement/flags这里修饰替换的标志 flags 是:
n 1到 512之间的一个数字,表示对文本模式中指定模式第 n 次出现的情况进行替换
g 对模式空间的所有出现的情况进行全局更改。而没有g是通常只有第一次出现的情况被取代。

p 打印模式空间的内容。
 W file
            将模式空间的内容写到文件 file 中。

Replacement是一个字符串,用来替换与正则表达式匹配的内容(参见第三章中的“匹配的范围“一节)。在replacement部分,只用下列字符有特殊含义:

&  用正则表达式匹配的内容进行替换。

\n  匹配第n个字串(n是一个数字),这个字串以前在pattern 中用“\(“和“\)“指定。

\  当在替换部分包含“与“符号(&),反斜杠(\)和替换命令的定界符时可用\转义它们。另外,它用于转义换行符并创建多行replacement字符串。

替换元字符


替换元字符是反斜杠 ()、“与”符号 (&)和n。反斜杠一般用于转义其他的元字符,但是他在替换字符串中也用于包含换行符。

校正索引条目

创建索引的第一步是在文档中放置索引代码。使用命名为.xx的索引宏,它采用单个参数,即索引条目。样本索引条目:

XX"sed, substitution command"

删除

用命令d

追加、插入和更改

追加 a

追加[line-address]a\

text

插入 i

插入[line-address]i

text

更改 c

更改[address]c

text

$是行寻址符号,用于匹配文件的最后一行

列表

列表命令 l 用于显示模式空间的内容,将非打印的字符显示为两个数字的ASCII代码

打印

打印命令 p 输出模式空间的内容。既不清除模式空间也不改变脚本中的控制流

改变流控制命令 d N b

抑制默认的输出 n

高级sed命令

多行模式空间

d删除模式空间的内容

D删除多行模式空间的第一行

追加下一行

多行Next命令通过读取新的输入行,并将其添加到模式空间的现有内容之后来创建多行模式空间

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值