1:要在sed上执行多个命令时,只要用-e选项就可以了
sed -e 's/brown/green/;s/dog/cat/' data1
注意点:命令之间必须用分号分隔
2:sed -f 选项来指定文件
文件中存放的是命令格式,比如上面的例子可以写成文件
[test@localhost sed]$ cat script
s/brown/green/
s/dog/cat/
3:对每行的字符传进行替换时,可以有几种设置方法
第一种是设置替换的第几个匹配的字符串 --》通过指定n
第二种是替换每处匹配的字符串 -》通过指定g
第三种是打印匹配的行 -->指定p,通常前面会加n
第四种是写入匹配 --》通过指定w
4:当正斜号"/" 有时候不适合当做字符串分隔符时,用感叹号也可以
详见387页 Linux命令行与shell脚本编程大全
5:一般sed默认对每行都进行操作,但是可以通过指定行地址范围来进行设置
sed '2,$s/dog/cat/' data1
也可以通过文本过滤来进行,
sed '/Samantha/s/bash/csh/' /etc/passwd
相当于是先对/etc/passwd进行grep Samantha然后再对输出的行进行替换
6:sed的可以通过指定行号的方法删除特定的行,或者特定行的范围
但是也可以通过匹配指定模式的文本 的方法来删除行或符合文本匹配模式之间的多行
详见书390页,很精彩
7:先到这边,下次学习的时候再添加