「ツリー」の反対 - テキストファイルの内容からファイルとディレクトリ構造を再構成しますか?

「ツリー」の反対 - テキストファイルの内容からファイルとディレクトリ構造を再構成しますか?

私たちは皆、これを使ってtreeディレクトリ構造の正しい形式のテキスト「視覚化」を得ることができることを知っています。

$ tree -spugD /usr/include/boost/accumulators/numeric/
/usr/include/boost/accumulators/numeric/
├── [drwxr-xr-x root     root            4096 Dec 19  2011]  detail
│   ├── [-rw-r--r-- root     root            2681 Oct 21  2010]  function1.hpp
│   ├── [-rw-r--r-- root     root             406 Oct 21  2010]  function2.hpp
│   ├── [-rw-r--r-- root     root             409 Oct 21  2010]  function3.hpp
│   ├── [-rw-r--r-- root     root             409 Oct 21  2010]  function4.hpp
│   ├── [-rw-r--r-- root     root            6725 Oct 21  2010]  function_n.hpp
│   └── [-rw-r--r-- root     root             530 Oct 21  2010]  pod_singleton.hpp
├── [drwxr-xr-x root     root            4096 Dec 19  2011]  functional
│   ├── [-rw-r--r-- root     root            2316 Oct 21  2010]  complex.hpp
│   ├── [-rw-r--r-- root     root           16627 Oct 21  2010]  valarray.hpp
│   └── [-rw-r--r-- root     root           12219 Oct 21  2010]  vector.hpp
├── [-rw-r--r-- root     root            9473 Oct 21  2010]  functional_fwd.hpp
└── [-rw-r--r-- root     root           21312 Oct 21  2010]  functional.hpp

2 directories, 11 files

私が望むのはその逆です。上記を含むテキストファイルがある場合は、dirstruct.txt次のように書くことができます(医師)。

$ reverse-tree dirstruct.txt -o /media/destpath

...したがって/media/destpathディレクトリが存在しない場合は、ディレクトリが作成され、上記のツリーに従ってファイルdetailなどを含むfunction1.hppサブフォルダが作成されます。

もちろん、いつでもコピーを作成してcp -a同じ結果を得ることができます。ここでのアイデアは、テキストファイルのファイル名、ディレクトリ名、サイズ、権限、およびタイムスタンプを変更できることです。それ出力構造を再構成します。ファイルの場合、最初はファイルがed(つまり、サイズが0バイト)であれば大丈夫だと思いましたtouch。しかし、要求されたサイズになるまで、0x00またはランダムバイトを埋めて、サイズも書き換える方が良いと思いました。達した。

主な用途は実際に質問を投稿することです:)。そのうちのいくつかは私がインストールしたプログラムのようなディレクトリ構造に依存していますが、プログラム自体は質問とは何の関係もありません。その後、単に「匿名」ディレクトリについて質問することができます。プログラムをインストールした回答者は、ツリーテキストの説明を投稿に貼り付けるだけで、自分のコンピュータにそのディレクトリツリーをすばやく再構築できます。

それでは、これを達成する簡単な方法はありますか?

ベストアンサー1

私はこのようなツールを見たことがありません。 Bashを含むさまざまなスクリプト言語を使用してスクリプトを作成して出力を解析し、一致するディスク上の対応するtreeディレクトリを再構成できます。テキストファイルを表示するには、whileまたはforループを使用してまたはをmkdir使用しmkdiir -pてディレクトリまたはネストされたディレクトリ構造を作成し、そのtouchコマンドを使用してテキストファイル内に空のバージョンのファイルを作成する必要があります。

構造を完全にコピーするには、関連するタイムスタンプをコピーすることもできます。mkdir両方をパラメータとして提供します。touch

おすすめ記事