2

Мне довольно часто приходится заменять набор текстовых записей на несколько мест в строке. Я ищу быстрые способы сделать это, используя Sublime text 3.

Пример, вероятно, поможет объяснить, что я имею в виду, у меня есть список имен баз данных в текстовом файле:

Books
Publishers
Orders 
Customers

И я хочу преобразовать их, используя следующий текст, заменив "имя базы данных" на значения выше.

SqlCmd -E -S Server –Q "BACKUP DATABASE [database name] TO DISK='E:\Bak\database name.bak'"

Поэтому я хочу получить файл, содержащий:

SqlCmd -E -S Server –Q "BACKUP DATABASE [Books] TO DISK='E:\Bak\Books.bak'"
SqlCmd -E -S Server –Q "BACKUP DATABASE [Publishers] TO DISK='E:\Bak\Publishers.bak'"
SqlCmd -E -S Server –Q "BACKUP DATABASE [Orders] TO DISK='E:\Bak\Orders.bak'"
SqlCmd -E -S Server –Q "BACKUP DATABASE [Customers] TO DISK='E:\Bak\Customers.bak'"

Очевидно, есть несколько способов сделать это, мне просто интересно, есть ли какие-нибудь простые способы сделать это в редакторе Sublime Text 3. Я бы предпочел ответы, которые не используют плагины, но если есть подходящий плагин, это было бы интересно.

3 ответа3

1

Это очень простая проблема регулярных выражений:

1

1

Использовать выбор столбцов Sublime-Text. Таким образом, вы можете создать мульти-курсор от первой до последней строки. Затем скопируйте / вставьте или напишите те же строки. Вы также можете использовать Alt или Control (в зависимости от вашей ОС), чтобы переходить от слова к слову и выбирать слова различной длины, а затем копировать вставить, чтобы создать конец строки.

TL; DR: использовать выбор столбца Sublime-Text https://www.sublimetext.com/docs/3/column_selection.html

0

Я не делаю это с помощью Sublime Text.
Смотрите снимок MS Excel ниже (вы можете использовать любую программу для работы с электронными таблицами по вашему выбору).
Столбец А содержит ваши данные (книги, издательства и т.д.)
Столбец B, C & D содержит статический текст, который не изменяется во всех строках.
Столбец E содержит формулу, которая объединяет строки и дает окончательный результат.
Формула =CONCATENATE(B1,A1,C1,A1,D1

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .