आप त्रुटि मामलों से बचने के लिए चाहते हैं, wc -l
की अनुमति नहीं है नई-पंक्तियों के साथ फ़ाइलें (जो इसे के रूप में 2 + फ़ाइलें गणना की जाएगी)
जैसे देखने के लिए एक मामले पर विचार करें जहां हम कम से कम gnu wc
चूंकि यह
> mkdir emptydir && cd emptydir
> touch $'file with EOL(\n) character in it'
> find -type f
./file with EOL(?) character in it
> find -type f | wc -l
2
में एक भी EOL चरित्र के साथ एक एकल फाइल है/पढ़ एक अशक्त सूची समाप्त गिनती (एक फ़ाइल से छोड़कर) करने का विकल्प भी प्रतीत नहीं होता है, सबसे आसान समाधान सिर्फ फाइलनामों को पास नहीं करना होगा, लेकिन फ़ाइल को हर बार एक स्थिर आउटपुट मिलेगा, उदाहरण के लिए
> find -type f -exec printf '\n' \; | wc -l
1
ऊपर या अगर उसी निर्देशिका में अपने find
इसका समर्थन करता है
> find -type f -printf '\n' | wc -l
1
आप टूटा बार '|' (ASCII 166) को लंबवत बार' | '(ASCII 124) के साथ [यूनिक्स पाइपलाइन] के लिए उपयोग कर रहे हैं (http://en.wikipedia.org/wiki/Pipeline_ % 28Unix% 29)। –
@SkippyleGrandGourou इसे पाइप नहीं कहा जाता है? – DaveStephens
@ डेवस्टेन्स हां, इसे भी कहा जाता है। इसे शेफर स्ट्रोक, वर्टी-बार, वीबार, स्टिक, वर्टिकल लाइन, वर्टिकल स्लैश, बार, ओबिलिस्क, ग्लिडस भी कहा जाता है। – emlai