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


1

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

word1
word2
etc

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

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

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

FRONTword1BACK
FRONTword2BACK
FRONTetcBACK

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

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


3
Ммм? Да - Блокнот ++ - используйте замену регулярных выражений
Петр Кула

Хорошо, вы можете объяснить, как? И я надеялся, что смогу избежать регулярных выражений, потому что они - боль.
Coderama

1
НЕТ! Регулярные выражения - способ сделать это. В противном случае сделайте это на PHP, как вы сказали.
Петр Кула

1
sourceforge.net/apps/mediawiki/notepad-plus/… Примеры могут помочь!
user905686

Ответы:


3

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

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

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

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

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

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


2

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

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

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

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

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

Спасибо, но CTRL-V с Windows VIM делает "вставку". Я буду продолжать пытаться ...
Coderama

Попробуйте Ctrl + Q, не должно конфликтовать с вставкой Windows.
Зергу
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.