vi - 行の一部の文字を置き換える

vi - 行の一部の文字を置き換える

ベルギーのすべての都市に関するファイルがあります。これらの都市の一部には行政区域があります。

Lier;stad;Antwerpen;49,70;33930;Lier;Koningshooikt
Knokke-Heist;gem.;WestVlaanderen;56,44;33825;Knokke;Westkapelle;Heist;Ramskapelle

, and spaceしかし、行政区域を代わりに使用したいと思います;。だから私はこれを得たいと思います:

Lier;stad;Antwerpen;49,70;33930;Lier, Koningshooikt
Knokke-Heist;gem.;West-Vlaanderen;56,44;33825;Knokke, Westkapelle, Heist, Ramskapelle

私はviそれを定期的に使用しますが、この代替品は私にとって難しいです。

ベストアンサー1

次のことができます(GNUの仮定sed)。

:%!sed 's/;/, /6g'

下から6番目のもの;に交換してください,

vimLookBehind演算子を使用してください。

:%s/\v((;.*){5})@<=;/, /g

(つまり、;最初の5秒以上を交換してください;。)

おすすめ記事