2012-01-03 7 views
0

こんにちは:読み込み時に動的に生成されるファイルを作成する方法はありますか?Unix:ファイルのプロキシとしてのスクリプト

同じファイルの3つのバージョンを作成したいとしました(1つは10行、もう1行は100行、もう1行はすべての行)。したがって、これらは静的である必要はありませんが、ヘッド/テール/ catコマンドのプロキシであれば最適です。

ユニットテストの目的は、本番で使用されている入力ファイル全体のうちのごく一部でユニットテストを実行することです。しかし、コードはフルファイル(実際にはハーフープマップ/リダクションアプリケーション)上でのみ実行されるため、情報を複製せずにデータセット全体を切り捨てたバージョンを提供したいと考えています。

UPDATE:例

more myActualFile.txt 

1 
2 
3 
4 
5 

more myProxyFile2.txt 

1 
2 

more myProxyFile4.txt 

1 
2 
3 
4 

など....だから、プロキシファイルを動的に単純にメインファイルの最初のn行を取得することにより、提供されたコンテンツを持つ異なる名前のファイルです。

答えて

1

これはハッキリですが、1つの方法は、名前付きパイプとループシェルスクリプトを使用してコンテンツ(名前付きパイプごとに1つ)を生成することです。このスクリプトは次のようになります。

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

スクリプトはその名前付きパイプから読み取られます。

低レベルのものを掘り起こす準備ができている場合、別の解決策はFUSEです。

+0

これは2つの答えを入力したようですが、「少なくとも同じ名前ではない」という明確化は、それ以外の優れた答えを混乱させると思います。あなたが何を参照しているのかわかりません...なぜファイルを同じ名前にしたいのですか? – jayunit100

+0

あなたのテキストからは、これも同様に望んでいるようです... – fge

+0

つまり、テキストの最初のバージョンです。今、これは必須条件ではないことがわかりました。編集。 – fge

関連する問題