perl one liner で住所文字列から都道府県、市区町村抽出

建物名などに「都道府県区市町村」の文字が含まれる可能性もあるので、minimal match .*? を使用

$ echo '〒105-0011東京都港区芝公園4‐2‐8' | perl -C -Mutf8 -pe 's/(〒?\d{3}-?\d{4})(.{2}?[都道府県])(.*?[区市町村])(.*)/\1, \2, \3, \4/'
〒105-0011, 東京都, 港区, 芝公園4‐2‐8
$ grep . input.txt | head | while read line; do perl -C -Mutf8 -pe 's/(〒?\d{3}-?\d{4})(.{2}?[都道府県])(.*?[区市町村])(.*)/\1, \2, \3, \4/'; done | tr -d ' '
〒601-1121,京都府,京都市,左京区静市静原町1172
〒077-0341,北海道,増毛郡増毛町,雄冬
〒794-0123,愛媛県,今治市,玉川町龍岡下
〒760-0092,香川県,高松市,女木町
〒942-0216,新潟県,上越市,頸城区日根津116-1
〒077-0037,北海道,留萌市,沖見町地崎
〒781-1762,高知県,吾川郡仁淀川町,下名野川
〒668-0843,兵庫県,豊岡市,引野
〒049-4431,北海道,久遠郡せたな町,北檜山区小倉山