ฉันมีคำสั่ง find ที่แสดงไฟล์ในโครงการของฉัน:
find . -type f -not -path './node_modules*' -a -not -path '*.git*' \
-a -not -path './coverage*' -a -not -path './bower_components*' \
-a -not -name '*~'
ฉันจะกรองไฟล์ได้อย่างไรจึงไม่แสดงไฟล์ที่อยู่ใน. gitignore
ฉันคิดว่าฉันใช้:
while read file; do
grep $file .gitignore > /dev/null && echo $file;
done
แต่ไฟล์. gitignore สามารถมีรูปแบบ glob (เช่นกันมันจะไม่ทำงานกับพา ธ หากไฟล์อยู่ใน. gitignore) ฉันจะกรองไฟล์ตามรูปแบบที่อาจมี globs ได้อย่างไร
find-sh {} +
ที่สิ้นสุดหรือไม่