Рассмотрят следующие данные:Заменить группы текста вместе с GVim
Class Gender Condition Tenis
A Male Fail Fail 33
A Female Fail NotFail 23
S Male Yellow 14
BC Male Happy Elephant 44
У меня есть запятая значение с бесформатным табулировании (она варьирует среди вкладок и пробелов).
В одном конкретном столбце у меня есть составные слова, которые я хотел бы исключить. В приведенном выше примере я хотел бы заменить «Fail» «Fail_» и «Happy» на «Happy_».
Результат будет следующим:
Class Gender Condition Tenis
A Male Fail_Fail 33
A Female Fail_NotFail 23
S Male Yellow 14
BC Male Happy_Elephant 44
я уже успел сделать это в два этапа:
:%s/Fail /Fail_/g
:%s/Happy /Happy_/g
Вопрос: Как я новичок в GVim Я пытаюсь для реализации этих замен все вместе, но я не мог найти, как это сделать *.
После этого шага, я пластинчатый мои данные следующим:
:%s/\s\+/,/g
И получить окончательный результат:
Number,Gender,Condition,Tenis
A,Male,Fail_Fail,33
A,Female,Fail_NotFail,23
S,Male,Yellow,14
BC,Male,Happy_Elephant,44
На SO, я искал [vim] :%s two is:question
и некоторые вариации, но Я не мог найти связанный поток, поэтому, я думаю, мне не хватает правильной терминологии.
Edit: Это фактические данные (с более чем 1 миллиона строк). Проблема начинается в 12-й колонке (например, «Fail Planting» должна быть «Fail_Planting»).
SP1 51F001 3 1 1 2 3 2001 52 52 H Normal 17,20000076 23,39999962 NULL NULL
SP1 51F001 3 1 1 2 3 2001 53 53 F Fail Planting 0 0 NULL NULL
SP1 51F001 3 1 1 2 3 2001 54 54 N Normal 13,89999962 0 NULL NULL
Безопасно предположить, третье слово в строке всегда будет требовать подчеркивания или есть какая-либо строка, которые не соответствуют этому требованию? –
Хммм, основываясь на этих данных, похоже, что вы не всегда хотите добавить символ подчеркивания (потому что в столбце также содержатся значения одного слова). Это делает мой макрос ответом безрезультатно =/ –
Я думаю, вам не повезло сделать это из командной строки vim. У вас есть доступ к языку сценариев или языку программирования (это не слишком сложно для чего-то вроде C#). –