Sed命令实用指南:基础操作与应用示例
1. 打印行号
在处理源文件时,有时需要打印特定行的行号,这可以借助在地址后添加等号(=)来实现。其语法如下:
[line-address]=
需要注意的是,该命令不能对多行范围进行操作。若不抑制行的自动输出,匹配行的行号和该行内容都会被打印出来。
例如,下面的脚本用于打印包含制表符后接字符串 “if” 的每一行的行号和行内容:
#n print line number and line with if statement
/
if/{
=
p
}
这里的 #n 抑制了行的默认输出。以下是该脚本在示例程序 random.c 上的运行结果:
$ sed -f sedscr.= random.c
192
if( rand_type == TYPE_0 ) {
234
if( rand_type == TYPE_0 ) state[ -1 ] = rand_type;
236
if( n < BREAK_1 ) {
252
if( n < BREAK_3 ) {
274
if( rand_type == TYPE_0 ) state[ -1 ] = rand_type;
303
if( rand_type == TYPE_0 ) state[ -1 ] = ra
超级会员免费看
订阅专栏 解锁全文
3

被折叠的 条评论
为什么被折叠?



