के रूप में एक ही समस्या का सामना जिस तरह से मुझे लगता है कि उसे ऐसा करना चाहिए, वह 'खोज' क्यों नहीं करता है? ,
किन्तु वह स्वीकार किए जाते हैं जवाब मेरे लिए काम नहीं करता है:
यहाँ मेरी फाइलें हैं:
$ find .
.
./resources
./resources/sitewide
./resources/sitewide/test.c
./resources/sitewide/.svn
./resources/sitewide/.svn/test.c
./resources/test.c
./resources/.svn
./resources/.svn/test.c
./test.c
./users
./users/avatars
./users/avatars/test.c
./users/avatars/.svn
./users/avatars/.svn/test.c
./users/test.c
./users/.svn
./users/.svn/test.c
./temporary
./temporary/test.c
./temporary/.svn
./temporary/.svn/test.c
./.svn
./.svn/test.c
इसका उपयोग करते समय परिणाम क्या होता है स्वीकृत उत्तर :
$ find -type d -path '.svn' -prune -o -print
.
./resources
./resources/sitewide
./resources/sitewide/test.c
./resources/sitewide/.svn
./resources/sitewide/.svn/test.c
./resources/test.c
./resources/.svn
./resources/.svn/test.c
./test.c
./users
./users/avatars
./users/avatars/test.c
./users/avatars/.svn
./users/avatars/.svn/test.c
./users/test.c
./users/.svn
./users/.svn/test.c
./temporary
./temporary/test.c
./temporary/.svn
./temporary/.svn/test.c
./.svn
./.svn/test.c
स्वीकृत उत्तर के साथ दो समस्याएँ हैं, पहला .svn अभी भी सूचीबद्ध है, और दूसरा, न केवल निर्देशिकाएं बल्कि फाइलें भी सूचीबद्ध हैं।
इन समस्याओं को मैं वास्तव में ठीक कर सकता हूं। लेकिन मेरा सवाल है,
कैसे उन .c फ़ाइलों को खोजने के लिए नहीं .svn निर्देशिकाओं के तहत?
मैंने निम्नलिखित सभी की कोशिश की है, लेकिन मेरे लिए कुछ भी काम नहीं किया है:
find . -path '*/.svn' -prune -name "*.c" -print
find . -path '*/.svn' -prune -o -name "*.c" -print
find . -path '*/.svn' -prune -name "*.c" -o -print
find . -path '*/.svn' -prune -a -name "*.c" -print
कृपया मदद कीजिए।
find . \( -type f -o -type l \) -path '*/.svn' -prune -o -name "*.c" -print
", लेकिन मैं इसे हटाता हूं\( -type f -o -type l \)
मेरे सवाल को आसान बनाने के लिए (मैंने भी एक कोशिश की-o
से पहले-path
)। अब मुझे एहसास हुआ कि यह वह हिस्सा है जो मुझे समस्या दे रहा है। कृपया अपना उत्तर उसमें भी जोड़ें। धन्यवाद।