スケーリングの問題ですzshスクリプトのパラメータがモードにあるかどうかを確認する方法
上記のリンクは、改行で区切られたファイルのパターンリストを最初の引数として解決するzshスクリプトの問題を解決します。私はこれを次のように拡張したいと思います。
フォルダー配列の複数のフォルダーに存在する可能性のある複数のファイルのパターンを確認します。
別の操作、つまり
.conf
追加の設定を読み込むために、一致するパターンを追跡し続けます。
この質問をするとき、私はまだマルチタスク中です。後で更新します。解決策があれば本当にありがとうございます。
ベストアンサー1
files=($^array_of_folders/**/*.pattern(.N)) # assuming pattern files
# have a .pattern extension
pattern="($(cat -- $files | paste -sd '|' -))"
if [[ $1 = $~pattern ]]; then
print -r -- "$1 matches $pattern"
fi
ただし、どのパターンが一致するかを知りたい場合は、次のことを行う必要があります。
files=($^array_of_folders/**/*.pattern(.N))
patterns=(${(f)"$(cat -- $files)"})
matching_patterns=()
for pattern ($patterns) {
[[ $1 = $~pattern ]] && matching_patterns+=$pattern
}
print -r -- "$1 matched by $#matching_patterns patterns: $matching_patterns"