Bash
如何在 bash/zsh 中重用 .gitignore 中的文件模式?
這裡是內容
.gitignore
cron.yaml build target webview *.pyc *.sublime-workspace .idea *.rej .coverage app/tools/temp_*.py app/tools/*/temp_*.py
我目前正在通過此腳本迭代本地文件夾中的文件:
find . -type f | grep -v -E "(.idea|.git)" | while read file do # Do something with $file done
如果
$file
它與.gitignore
. 是否有任何現有的實用程序或內置 bash 可以理解這些文件模式?
您可以使用
grep
’s-f
aka (--file
) 選項,通過程序替換來“正則化”某些模式。例如:find . -type f | grep -Ev '(\.idea|\.git)' | grep -v -f <(sed 's/\([.|]\)/\\\1/g; s/\?/./g ; s/\*/.*/g' .gitignore) | while IFS= read -r file ; do # Do something with "$file" done