私たちは皆、これを使って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