Author Topic: VIM: КАК передать значение переменной в название файла  (Read 5321 times)

0 Members and 1 Guest are viewing this topic.

Offline adventurerodnako

  • Newbie
  • *
  • Posts: 1
  • Karma: +0/-0
Подскажите ПЛИЗ.
Как в 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 


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

Offline nuclight

  • Full Member
  • ***
  • Posts: 207
  • Karma: +1/-2
    • http://antigreen.org
Зачем vim? Задача очень просто делается даже на обычном шелле:

Code: [Select]
export IFS=","
cat input.txt | while read fname line; do
        echo "$fname,$line" > $fname
done
WBR, Nuclear Lightning
[FreeBSD][Давить зелёных]