sed正则表达式的问题

时间:2015-07-07 10:20:12

标签: regex bash sed

我试图处理包含sed货币的文件,但无法弄清楚我的错误在哪里。

这是文件摘录:

  AED:阿拉伯联合酋长国DirhamAFN:阿富汗阿富汗人所有:阿尔巴尼亚人LekAMD:亚美尼亚民主党:荷属安的列斯群岛GuldenAOA:安哥拉宽扎 ARS:阿根廷比索澳元:澳大利亚元警察:Aruban FlorinAZN:阿塞拜疆ManatBAM :波斯尼亚&黑塞哥维那可兑换MarkBBD:巴巴多斯美元BBT:孟加拉国TakaBGN:保加利亚LevBIF:布隆迪FrancBMD:百慕大元BND:文莱DollarBOB:玻利维亚Boliviano BRL:巴西雷亚尔* BSD:Bahamian DollarBWP:博茨瓦纳PulaBZD:伯利兹DollarCAD:加元[... ]

我想在每个树大写组之前添加一个换行符,后跟字符":"。
我尝试的是sed -e 's/\([A-Z]{3}:)/\n\1/g list1.txt > list2.txt,但没有任何改变。事实上,当我尝试/[A-Z]{3}/blabla/时,没有任何事情发生。

我很困惑。

1 个答案:

答案 0 :(得分:1)

sed -r 's/([A-Z]{3}:)/\n\1/g' list1.txt
# or
# sed -e 's/\([A-Z]\{3\}:\)/\n\1/g' list1.txt

返回:

AED: United Arab Emirates Dirham
AFN: Afghan Afghani
ALL: Albanian Lek
AMD: Armenian Dram
ANG: Netherlands Antillean Gulden
AOA: Angolan Kwanza
ARS: Argentine Peso
AUD: Australian Dollar
AWG: Aruban Florin
AZN: Azerbaijani Manat
BAM: Bosnia & Herzegovina Convertible Mark
BBD: Barbadian Dollar
BDT: Bangladeshi Taka
BGN: Bulgarian Lev
BIF: Burundian Franc
BMD: Bermudian Dollar
BND: Brunei Dollar
BOB: Bolivian Boliviano
BRL: Brazilian Real*
BSD: Bahamian Dollar
BWP: Botswana Pula
BZD: Belize Dollar
CAD: Canadian Dollar
相关问题