- 論壇徽章:
- 780
|
本帖最后由 Herowinter 于 2014-03-06 12:44 編輯
@kaize0409@jason680@rdcwayx
如果你要一個(gè)正則實(shí)現(xiàn)懶惰匹配,你可以參考版主和Jason的perl代碼;
如果你非要在awk中實(shí)現(xiàn),你可以參考下面的代碼,不過這種做法擴(kuò)展
性不是很好,僅僅針對(duì)你這個(gè)問題。- awk '{s="";while((start=match($0,/{#/))>0){end=match($0,/#}/);if(end>start){s=s""substr($0,1,start-1)"+";$0=substr($0,end+2)}else break};print s$0}' i
- +
- +
- +a#}
- fdss+fdjsf+dfs
- fdss+fdjsf+dfs
- fdss+dfs
- fdss+fdjsf+dfs
- fdss+fdjsf+dfs
- fdss+fdjsf+dfs
- fff{#
- ggg#}
- hhhrrrr
復(fù)制代碼- cat i
- {#a#a#}
- {#a}a#}
- {#a#}a#}
- fdss{#sdjas#}fdjsf{#dsfjs#}dfs
- fdss{#sd#jas#}fdjsf{#ds#fjs#}dfs
- fdss{#sdjas#fdjsf#dsfjs#}dfs
- fdss{#sd#jas#}fdjsf{#ds#fjs#}dfs
- fdss{#sd#jas#}fdjsf{#ds#fjs#}dfs
- fdss{#sdjas#}fdjsf{#dsfjs#}dfs
- fff{#
- ggg#}
- hhhrrrr
復(fù)制代碼 |
|