0

ディレクトリ ツリー構造で動作するファイル パーサーをプログラムしようとしています。特定のリーフ ディレクトリを見つけたら、パスを構成するすべてのディレクトリを調べて、それらの中でいくつかの操作を実行します。

パスが次のとおりだとしましょう: /d1/d2/d3. ここで、ファイルxが存在するかどうかを確認したいと思います。/d1/d1/d2/d1/d2/d3

もちろん、次のようなこともできます。

fields=`find $base_dir -name "leaf_directory" | grep  -o "/" | wc -l`

[[ $fields > 0 ]] || exit 1

for (( i=1; i <= $fields + 1; i++ )) do
    current_dir="`find $base_dir -name "leaf_directory" | cut -d "/" -f $i`"
    source_path="$source_path$current_dir/"

    if [ -f $source_path$file ]; then
        # do sth.
    fi  
done

しかし、これに対するよりエレガントな解決策はありますか?

ありがとうございました。

4

3 に答える 3