sed替换命令与转换命令
替换命令
语法格式:
[address]s/old/new/flags
flags如下:
n:1~512之间的数字,表示对本模式中指定的匹配行中出现第n次的情况时进行替换,其它行不进行替换。
如sed 's/unix/UNIX/2' sed.txt 替换每行中第个unix字符,将其转换成大写UNIX。
g:表示对全局进行替换。
p:打印模式空间的内容。即打印匹配行的内容。
w file:表示匹配行的内容写到另一个文件中。
注意:定界符可以使用多种,如“/”“#”“,”“!”等
s/ */ /g表示任意多个空格,用一个空格代替。
s/unix/aa&bb/g 表示将unix替换成aaunixbb。
转换命令
语法格式:
[address]y/old/OLD/ 将小写的old转换成大写的OLD字符。
使用y命令时,需要注意转换的字符个数一定要相同,当转换的字符个数不相同时,系统将提示错误。
举例:
sed '1,$y/yaN/tAO/' test.c
这条命令把test.c文件中的‘y’,‘a’,‘N’字符分别转换成‘t’,‘A’,‘O’
注意转换命令(y)和替换(s)的区别在于:转换命令是一对一的替换,替换命令是字符串替换字符串;转换命令中“yaN”和“tAO”字符数必须相等,而替换命令可以是一对多,多对一,多对多。
阅读(2827) | 评论(0) | 转发(0) |