1-gonna-prun3-@-tr33 - fin@l3で、
指定したnodeを削除するPerlスクリプトを作成しました。
んでは、逆に指定したnodeだけを抽出するスクリプトを書いてみます。
ていうか、削除の逆のアイディアなので、イージーなんですけどねー。
作成するプログラムのアウトライン
単純に、削除nodeリストを読み込み、連想配列に追加。
木を解析するとき、解析node名が、連想配列のキー内に存在するか?のチェック。
存在してたら、標準出力に出力。また親node名が、連想配列のキー内に存在する場合も
標準出力に出力。たったこれだけです。
プログラム
上の動作を実現するPerlスクリプト( drip_tree.pl )を⬇に貼付けます。
あと、木情報( tree )、抽出nodeリスト ( drip_list )も貼付けておきます。
下記の環境で動作してます。
Mac OS X 10.9
perl --version
This is perl 5, version 12, subversion 4 (v5.12.4) built for darwin-thread-multi-2level
$cat tree | perl drip_tree.pl > driped_tree
で、ファイルdriped_treeに、木構造を抽出した情報が出力されます。
treeは、木構造をもつデータファイル
driped_listは、抽出対象のnodeを記載したファイル