LINUX.ORG.RU

Представление: каталог файлов как файл, файл как каталог файлов.


0

0

Доброго дня суток.

Суть: Есть каталог, в нём файлы и каталоги, которые также содержат
 файлы и каталоги и т. д. 

Нужно иметь такую возможность, чтобы со всеми файлами можно было
 работать как с одним, при этом не нарушая структуру каталогов, чтобы
 все изменения этого файла заносились в соответствующие файлы каталогов.

Чтобы было понятнее, пример: Есть каталог А, в котором файлы А1, А2,
 А3 и каталог В, в котором файл В1. Нужно, чтобы все эти файлы
 представлялись что-то вроде такой структуры:


A {
     {Содержимое А1}
     {Содержимое А2}
     {Содержимое А3}
     { B 
        {Содержимое B1}
     }
  }


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

Что-то подобное создаёт diff, но только при сравнении файлов. А нужно
 просто превращение дерева файлов в файл дерева.

Собственно, есть ли что-то стандартное для решения такой задачи?
anonymous

Конечно есть.

Вот к примеру есть точка монтирования
/dev/sda1 ==> /data

/data здесь каталог файлов, а
/dev/sda1 -- единый файл, содержащий все дерево каталогов и фалов.

Стандартные инструменты работы с ними уже "встроены" в ОС.

З.Ы. может тебе нужно вот это http://www.linux.org.ru/view-message.jsp?msgid=3055986

sdio ★★★★★
()

Сдаётся мне, что ты - начинающий, но уже конченый Си-плюс-плюсник. Класс слабо написать соответствующий?

Gharik
()

2sdio

Да не, похоже ему нужно что-то вроде конвертёра из gconf в json и обратно. Т.е. конвертировать gconf'образное представление настроек, когда они разбиты на несколько файлов и директорий, в единый plain-text конфиг. В принципе, если взять любою либу для работы с конфигами, то задача решается на раз. На результирующий файл вешается inotify, который при его изменении запускает конвертацию.

AX ★★★★★
()
Ответ на: комментарий от sdio

>data здесь каталог файлов, а /dev/sda1 -- единый файл, содержащий все дерево каталогов и фалов. Стандартные инструменты работы с ними уже "встроены" в ОС.

Не пойдёт, ибо /dev/sda1 содержит много служебной информации, а мне нужно только содержимое файлов и полные имена каталогов. Или может, есть такая ФС, в которой служебки нет как таковой? Или может какие-то виртуальные ФС есть, о которых я не знаю?

>может тебе нужно вот это http://www.linux.org.ru/view-message.jsp?msgid=3055986

Может, но это для Явы. А мне бы желательно языконезависимые инструменты - скрипты пишу ;)

anonymous
()
Ответ на: комментарий от AX

>Да не, похоже ему нужно что-то вроде конвертёра из gconf в json и обратно.

На самом деле я хочу использовать grep и sed для каталога любых текстовых файлов, не отвлекаясь на их создание/удаление. То есть чтобы изменение файла, создание/удаление файла/ каталога производилось автоматически при изменении содержимого этого самого единого файла.

anonymous
()
Ответ на: комментарий от anonymous

Этим занимается файловая система. Если твою жену зовут Нина, я бы на твоем месте призадумался.

abraziv_whiskey ★★★★★
()
Ответ на: комментарий от anonymous

В твоем файле тоже будет предостаточно служебной информации.
Возьми xml, и конвертер "Дерево каталогов с файлами" <--> XML

sdio ★★★★★
()
Ответ на: комментарий от sdio

>Возьми xml, и конвертер "Дерево каталогов с файлами" <--> XML

Дык, я-ж и прошу ссылку на готовый инструмент.

anonymous
()
Ответ на: комментарий от anonymous

Да, на первый взгляд оно. Смотреть надо. Спасибо.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.