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