Заменить все строки в файле с «SomeWord - ####» на «SomeOtherWord-ABC» - PullRequest
0 голосов
/ 12 сентября 2018

Мне нужно заменить тысячи вхождений строки, содержащей «SomeWord-», за которой следуют четыре числа (может быть любыми четырьмя числами).

например, файл может содержать:

blah:"someValue1",
otherThing:"someOtherValue1",
importantThing:"SomeWord-1232", 
etc:".....",
importantThing:"SomeWord-4567",
otherThing:"SomeWord-8438"

И он должен стать другой строкой:

blah:"someValue1",
otherThing:"someOtherValue1",
importantThing:"SomeOtherWord-ABC", 
etc:".....",
importantThing:"SomeOtherWord-ABC",
otherThing:"SomeOtherWord-ABC"

Какой самый чистый способ сделать это, используя sed,grep, vim и т.д?

1 Ответ

0 голосов
/ 12 сентября 2018

В Vim вы можете сделать

:%s/SomeWord-\d\+/SomeOtherWord-ABC/g    

, который соответствует 1 или более цифрам, если вы хотите ровно четыре, вы можете сделать

:%s/SomeWord-\d\{4}/SomeOtherWord-ABC/g  
...