任务:
将文本hello中第一次出现的hello替换为wang,第二次出现的替换为yao
思路:
1.采用sed.
将模式空间(pattern space)的内容暂存入驻留空间(hold space).再将驻留空间的内容转入模式空间。(注:模式空间是单行的,采用它的多航模式,将内容存入驻留空间,使全部文本存入驻留空间,再拷贝回模式空间,进行替换操作)
2.采用awk.
设置RS(记录分割符)为""(空,即EOF),使全部文本变为一个记录,再进行字段操作,按照要求将字段进行替换。
#!/bin/sh
sed '{
N
H
}
g
s/\n//
s/hello/wang/1
s/hello/yao/g' $1
#!/bin/sh -f
awk '
BEGIN{FS=" ";RS=""}
{sub(/hello/,"wang")
gsub(/hello/,"yao")
}
END{print $0}' $1
阅读(1162) | 评论(0) | 转发(0) |