您的位置:首页 > 其它

sed笔记

2016-05-12 14:13 127 查看

 

 

 

 

 

以下是要介绍的全部基础命令:

 

名称命令语法说明
替换 s [address]s/pattern/replacement/flags 替换匹配的内容
删除 d [address]d 删除匹配的行
插入 i [line-address]i\text 在匹配行的前方插入文本
追加 a [line-address]a\text 在匹配行的后方插入文本
行替换 c [address]c\text 将匹配的行替换成文本text
打印行 p [address]p 打印在模式空间中的行
打印行号 = [address]= 打印当前行行号
打印行 l [address]l 打印在模式空间中的行,同时显示控制字符
转换字符 y [address]y/SET1/SET2/ 将SET1中出现的字符替换成SET2中对应位置的字符
读取下一行 n [address]n 将下一行的内容读取到模式空间
读文件 r [line-address]r file 将指定的文件读取到匹配行之后
写文件 w [address]w file 将匹配地址的所有行输出到指定的文件中
退出 q [line-address]q

读取到匹配的行之后即退出  

 

替换命令:

[address]s/pattern/replacement/flags   flags为:

● n: 一个数字(取值范围1-512),表明仅替换前n个被pattern匹配的内容;

● g: 表示全局替换,替换所有被pattern匹配的内容;

● p: 仅当行被pattern匹配时,打印模式空间的内容;

● w file:仅当行被pattern匹配时,将模式空间的内容输出到文件file中;

 

删除命令:  

[address]d

      

 

插入行/追加行/替换行命令: i/a/c

# Append 追加 [line-address]a\ text # Insert 插入 line-address]i\ text # Change 行替换 [address]c\ text   打印命令: p/l/= sed -n '2p' 444.out #单独输出第二行 sed -n '4l' 444.out #输出第四行显示控制字符 sed  '=' 444.out #输出时附带行号    

转换命令: y

转换命令的语法是:

[address]y/SET1/SET2/ 用SET2来替换SET1 在匹配的行上,将SET1中出现的字符替换成SET2中对应位置的字符,与tr类似 $ echo "hello, world" | sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' HELLO, WORLD    $ echo "hello, world" | tr a-z A-Z                                                     HELLO, WORLD   读写文件命令 [line-address]r file [address]w file    [address]y/SET1/SET2/   

    

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: