首先这两个命令都可以用作替换,但替换时还是有区别的
(1)y一般是行级别的替换,s一般是列级别替换(当然也可以转换成行级);
(2)s替换的是整体,y替换的是每一字母对应的单个字母
例:
1、sed 's/dog/cat/' data 把data中的所有行中的第一次出现dog的替换成cat,(注意:如果cat/后没有出现其他形式,则默认时第一次出现的位置)
2、sed '1,3y/abc/ABC/' data 把data中的第一行至第三行中的a替换成A,b替换成B,c替换成C
3、sed '2,${s/dog/cat/1}' data 把data中的第二行至最后一行的第一次出现dog的替换成cat