find
を含む長いコマンドを作成しようとしています。私は無視したいディレクトリの配列を持っており、このディレクトリをコマンドに書式化したい。このへBash配列:配列内の各要素に追加およびプリペンド
declare -a ignore=(archive crl cfg)
:
は基本的に、私はこの配列を変換したい
-o -path "$dir/archive" -prune -o -path "$dir/crl" -prune -o -path "$dir/cfg" -prune
この方法で、私は単純に配列にディレクトリを追加することができ、かつfind
コマンドは、それに応じて調整されます。
はこれまでのところ、私が先頭に追加または
${ignore[@]/#/-o -path \"\$dir/}
${ignore[@]/%/\" -prune}
を使用して追加する方法を考え出したしかし、私はこれらを組み合わせて、同時に先頭に追加し、配列の各要素に追加する方法がわかりません。
いいアイデアのようですね。 $ {var/x/y}の各置換をサポートするには、配列の複数のレベル(コピー)を持つ必要があると思います。私は '$(echo $ {ig [@]} | sed/a/b/g; s/c/d/g; s/d/e $ /; s/^ f/g/')) 'となります。がんばろう! – shellter