Массовые манипуляции с текстом?

У меня есть текстовый файл из пары сотен тысяч слов. Например:

word1
word2
etc

Я хочу знать, какую программу я могу легко использовать:

  1. Добавьте "FRONT" в начале текста и
  2. Добавьте "НАЗАД" в конец текста

Так что я бы закончил с:

FRONTword1BACK
FRONTword2BACK
FRONTetcBACK

Я легко могу сделать это, кодируя его в PHP, но я хочу знать, есть ли более быстрый путь с правильным инструментом? Возможно, это можно сделать в чем-то вроде notepad++, или scite, или в худшем случае, командной строки linux.

Примечание: я бы предпочел визуальный редактор на базе WINDOWS.

2 ответа

В NotePad++ регулярное выражение замените:

Найти что: ^(.*)$

Заменить на: FRONT\1BACK

Что происходит с точки зрения регулярных выражений?

^ - соответствует началу строки
$ - соответствует концу строки
.* - соответствует всему, что находится между (в скобках, чтобы пометить его как группу)

Замена - это просто то, что вы хотите до и после исправления, а значение первой группы регулярных выражений (т.е. все в строке) зажато в середине.

VIM работает на Windows. Если вы никогда не использовали его, у вас могут возникнуть проблемы с запуском, но если вы изучите основы, все волшебство доступно.

1) Добавьте что-то перед первым символом в каждой строке:

  • Перейти к первой строке, первому столбцу.
  • Ctrl + v Ctrl + q, чтобы войти в режим визуального блока.
  • Ctrl + g, чтобы перейти к последней строке.
  • Shift + i, чтобы войти в режим визуальной вставки.
  • Введите текст и нажмите Esc. Текст должен появляться во всех строках.

2) Добавить что-то в конце. Если все слова имеют одинаковую длину, вы можете сделать, как описано выше. Если не использовать макросы.

  • Перейти к первой строке.
  • Нажмите "q" дважды. Первый начинает запись, второй выбирает буфер для записи (может быть любой буквой).
  • Shift + a, чтобы начать вставку текста в конце строки.
  • Введите желаемый текст.
  • Esc, чтобы остановить вставку.
  • Стрелка вниз или "j", чтобы перейти к следующей строке.
  • 'q' снова, чтобы остановить запись.
  • Теперь вы можете воспроизвести записанное действие, набрав '@@' или '@q'. "@@" воспроизводит последнюю запись, "@q" - запись в буфере "q" (то же самое в этом примере).
  • Введите "1000@@", чтобы воспроизвести макрос 1000 раз.
Другие вопросы по тегам