首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

awk的gsub替换有关问题

2013-09-07 
awk的gsub替换问题文本内容如下my-friends:Hans Jurgen SchoolUnter den Linden 78D-10117 BerlinGermany#

awk的gsub替换问题
文本内容如下my-friends:
Hans Jurgen School
Unter den Linden 78
D-10117 Berlin
Germany

#SORTKEY: Jones, Adrian
Adrian Jones
371 Montgomery Park Road
Henley-on-Thames RG9 4AJ
UK

#SORTKEY: Brown, Kim
Kim Brown
1841 S Main Street
Westchester, NY 10502
USA
现在用awk执行两次替换
cat my-friends |
   awk -v RS="" '{gsub("\n","^Z");print}' |
        awk -v ORS="\n\n" '{gsub("^Z","\n");print}'
输出结果:
#SORTKEY: School, Hans Jurgen^ZHans Jurgen School^ZUnter den Linden 78^ZD-10117 Berlin^ZGermany

#SORTKEY: Jones, Adrian^ZAdrian Jones^Z371 Montgomery Park Road^ZHenley-on-Thames RG9 4AJ^ZUK

#SORTKEY: Brown, Kim^ZKim Brown^Z1841 S Main Street^ZWestchester, NY 10502^ZUSA
为何^Z没被替换掉啊??????
运行平台:Linux version 2.6.18-164.el5 (mockbuild@x86-002.build.bos.redhat.com) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)) #1 SMP Tue Aug 18 15:51:54 EDT 2009
[解决办法]

awk -v RS="" 'gsub("\n","^Z")' my-friends 
[解决办法]
 awk -v ORS="\n\n" 'gsub("\\^Z"," ")'

热点排行