У меня есть текстовый файл из пары сотен тысяч слов. Например:
word1
word2
etc
Я хочу узнать, какую программу я могу использовать, чтобы легко:
- Добавьте «ПЕРЕДНИЙ» в начало текста и
- Добавьте «НАЗАД» в конец текста.
Итак, я бы пришел к следующему:
FRONTword1BACK
FRONTword2BACK
FRONTetcBACK
Я могу легко сделать это, закодировав его в PHP, но я хочу знать, есть ли более быстрый способ, с правильным инструментом? Возможно, это можно сделать в чем-то вроде notepad++, или scite, или, в худшем случае, в командной строке Linux.
Примечание: я бы предпочел визуальный редактор на базе WINDOWS.
решение1
В NotePad++ выполните замену регулярного выражения:
Найти что: ^(.*)$
Заменить на: FRONT\1BACK
Что происходит с точки зрения регулярных выражений?
^ - соответствует началу строки
$ - соответствует концу строки
.* - соответствует всему, что находится между ними (в скобках, чтобы обозначить как группу)
Замена — это просто то, что вы хотите добавить до и после исправления, а значение первой группы регулярных выражений (т. е. все, что находится в строке) помещается посередине.
решение2
VIM работает на Windows. Если вы никогда им не пользовались, у вас могут возникнуть проблемы с запуском, но если вы изучите основы, вся магия станет доступной.
1) Добавьте что-нибудь перед первым символом в каждой строке:
- Перейти к первой строке, первому столбцу.
Ctrl+vCtrl+q для входа в режим визуального блока.- Ctrl+g для перехода к последней строке.
- Shift+i для входа в режим визуальной вставки.
- Введите текст и нажмите Esc. Текст должен появиться во всех строках.
2) Добавьте что-нибудь в конец. Если все слова имеют одинаковую длину, вы можете сделать так, как описано выше. Если нет, используйте макросы.
- Перейти к первой строке.
- Нажмите 'q' дважды. Первая кнопка запускает запись, вторая выбирает буфер для записи (может быть любой буквой).
- Shift+a, чтобы начать вставку текста в конце строки.
- Введите желаемый текст.
- Нажмите Esc, чтобы остановить вставку.
- Стрелка вниз или «j» для перехода на следующую строку.
- Нажмите «q» еще раз, чтобы остановить запись.
- Теперь вы можете воспроизвести записанное действие, введя «@@» или «@q». «@@» воспроизводит последнюю запись, «@q» воспроизводит ту, что находится в буфере «q» (то же самое в этом примере).
- Введите «1000@@», чтобы повторить макрос 1000 раз.