Unix: скрипт как прокси к файлу - PullRequest
0 голосов
/ 03 января 2012

Привет: Есть ли способ создать файл, который при чтении генерируется динамически?

Я хотел создать 3 версии одного и того же файла (одну с 10 строками, одну со 100 строками, одну со всеми строками). Таким образом, я не вижу необходимости в том, чтобы они были статичными, но было бы лучше, если бы они были прокси из команды head / tail / cat.

Цель этого - для модульного тестирования - я хочу, чтобы модульное тестирование выполнялось на небольшой части полного входного файла, используемого в производстве. Однако, поскольку код выполняется только для полных файлов (на самом деле это приложение карты / сокращения hadoop), я хочу предоставить сокращенную версию всего набора данных без дублирования информации.

ОБНОВЛЕНИЕ: Пример

more myActualFile.txt 

1
2
3
4
5

more myProxyFile2.txt 

1
2

more myProxyFile4.txt 

1
2
3
4 

и т.д .... Таким образом, прокси-файлы - это РАЗЛИЧНЫЕ именованные файлы с содержимым, которое динамически предоставляется путем простого получения первых n строк основного файла.

1 Ответ

1 голос
/ 03 января 2012

Это глупо, но ... Одним из способов является использование именованных каналов и скрипта циклической оболочки для генерации контента (по одному на именованный канал). Этот скрипт будет выглядеть так:

while true; do
    (
        for $(seq linenr); do echo something; done
    ) >thenamedpipe;
done

Ваш скрипт будет читать из этого именованного канала.

Другое решение, если вы готовы копаться в низкоуровневых вещах, это FUSE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...