sed 学习一 (替换)

来源:互联网 发布:对抗网络 知乎 编辑:程序博客网 时间:2024/06/04 18:15

sed 学习一 (替换)
替换
[address] s/pattern/replacement/flags
flags是:
1到512之间的一个数字,表示对文本模式中指定模式 n 次出现的情况进行替换
对模式空间的所有出现的情况进行全局更改,而没有 g 是通常只有第一次出现的情况被取代    #centos  sed 好像不是这样的
打印模式空间的内容
file 将模式空间的内容写到文件file中
举例
[jack@xiaogt-db 18:41:21 29  ~/awk]  $ cat a.txt
a
b
abc 123
abcde   wer
abcde   wer
[jack@xiaogt-db 18:42:20 30  ~/awk]  $ sed  '/abc/ s/abc/222/p' a.txt
a
b
222 123
222 123
222de   wer
222de   wer
222de   wer
222de   wer
为什么会这样,刚开始没想通,因为galf就突然来了感觉, sed 因为默认都会打印输出,在加上p 就会打印双份模式空间的内容,so This output
[jack@xiaogt-db 18:46:40 32  ~/awk]  $ sed  '/abc/ s/abc/222/w aa.txt' a.txt
a
b
222 123
222de   wer
222de   wer
[jack@xiaogt-db 18:46:46 33  ~/awk]  $ cat aa.txt 
222 123
222de   wer
222de   wer
一样就懂了,将模式空间的内容写到文件aa.txt中