#!/usr/bin/zsh
zparseopts -D -E -- p:=p -path+:=p r:=regex -regex:=regex gi:=gitignore -gitignore:=gitignore
PATH=/my/path:/stuff
GI=("${(@f)$(cat $gitignore[2] | sed '/^#/ d')}")
R=("${${(@f)$(find $p[2] -type f -regex $regex[2])}:%GI[@]}")
echo $R
#echo ${(z)R} | grep -v -F ${(z)GI} -
Я пытаюсь создать свой собственный предопределенный вариант find
, который находит с параметрами имени все, чего нет в указанных файлах / папках .gitignore.
Я обнаружил, что #
и обратно %
расширения, соответствующие шаблону, могут выполнять эту работу.Тем не менее, это не работает.Честно говоря, я редко понимал документы, так как я довольно плохо знаком с сценариями оболочки.
Есть ли простой способ сделать эту работу ??
Мой другой подход заключался в использовании grep в качестве комментарияниже, что дает мне ошибки, так как мои записи в списке не обрабатываются как строки, и я не могу найти правильное расширение строки.
Помощь оценена.
Пример использования: seek -p ~/git/prudencss/angular -r .*component.* -gi ~/git/prudencss/angular/.gitignore