【发布时间】:2016-10-07 21:05:27
【问题描述】:
我的文本文件包含跟随模式
<SUBBEGIN
NAME : A ;
AGE : 10 ;
ADDRESS 1 : NO10;
ADDRESS 2 : X-Lane;
ADDRESS 3 : X-City ;
CITY : X-City;
<SUBEND
<SUBBEGIN
NAME : B ;
AGE : 30 ;
ADDRESS 1 : NO70;
ADDRESS 2 : Y-Lane;
ADDRESS 3 : Y-City ;
<SUBEND
我想按以下格式打印上面的输出,请好心帮我排序,我是 bash/shell 的新手
预期输出:
NAME : A ;AGE : 10 ;ADDRESS 1 : NO10;ADDRESS 2 : X-Lane;ADDRESS 3 : X-City ;CITY : X-City;
NAME : B ;AGE : 30 ;ADDRESS 1 : NO70;ADDRESS 2 : Y-Lane;ADDRESS 3 : Y-City ;
我尝试了以下 2 个代码,但两者都是在没有 TAG 的情况下打印上面的数据
awk 'BEGIN { FS = "<SUB" } ; { gsub(" ","",$0); print }' users.txt
和
awk '/<SUBBEGIN/{flag=1;next}/<SUBEND/{flag=0}flag' users.txt
【问题讨论】:
-
在
<SUBBEGIN和<SUBEND标签之外还有其他的行吗?