LinuxForum.Fans
Тема

VIM: надо из одного файла создать МНОГО файлов порезав по 1й строке

Автор: adventurerodnako 2 сообщений 924 просмотров
#133225

Подскажите ПЛИЗ.
Как в VIM сохранить файл но не d:\xxx.txt
а d:\@здесь типа переменная (кусочек текста)@.txt

например надо из одного файла создать МНОГО файлов порезав по 1й строке, название файла --> первое вхождение до запятой в каждой строке:

test1,типа текст1,типа текст1,типа текст1,типа текст1,типа текст1
test2,типа текст2,типа текст2,типа текст2,типа текст2,типа текст2
test3,типа текст3,типа текст3,типа текст3,типа текст3,типа текст3



должны получиться файлы с названиями

---test1---
test1,типа текст1,типа текст1,типа текст1,типа текст1,типа текст1

---test2---
test2,типа текст2,типа текст2,типа текст2,типа текст2,типа текст2

---test3---
test3,типа текст3,типа текст3,типа текст3,типа текст3,типа текст3


for i in getline(1, "$")
echo substitute(i, ",.*", "", "")
.,+0w! D:\\<-- вот как сюда вставить переменную? -->.txt
endfor


Заранее благодарен.

#133243
adventurerodnako написал:
должны получиться файлы с названиями

---test1---
test1,типа текст1,типа текст1,типа текст1,типа текст1,типа текст1

такие вещи делаются командой sed.
что-то вроде

text
#!/bin/sed -rf
s/([^,]*)(.*)/echo '&' >\1/e

примечание 1: проверять лень
примечание 2: внутри файла не должно быть одиночных кавычек
кавычки можно обработать предварительно.
примечание 3: VIM вообще-то интерактивный редактор. Автор так задумал.

Войдите или зарегистрируйтесь, чтобы ответить.