vim 搜尋非一千的倍數 - Linux

Table of Contents

假設現在有如下的pattern

#21308000

#21517660

#21527063

#21537789

#21621300

我想搜尋尾數非"000"的人, 也就是號碼非1000的倍數, 然後把他們號碼的最後3碼

變成"000"

我目前的作法是依序執行下列指令

:%s+[1-9][1-9][1-9]$+000+gc
:%s+0[1-9][1-9]+000+gc
:%s+[1-9]0[1-9]+000+gc
:%s+[1-9][1-9]0+000+gc
:%s+00[1-9]+000+gc
:%s+0[1-9]0+000+gc
:%s+[1-9]00+000+gc

有沒有一步到位的方法? 感謝

--

All Comments

Zora avatarZora2010-01-26
:%s/\d\{3\}$/000/g