प्रत्येक फ़ाइल में कितनी लाइनें हैं।
का प्रयोग करें wc
, शब्द गणना के लिए मूल रूप से, मेरा मानना है, लेकिन यह लाइनों, शब्द, अक्षर, बाइट्स, और सबसे लंबे समय तक लाइन की लंबाई कर सकते हैं। -l
विकल्प यह बताता है लाइनों गिनती करने के लिए।
wc -l <filename>
यह निम्न पंक्तियों की संख्या का उत्पादन करेगा:
$ wc -l /dir/file.txt
32724 /dir/file.txt
आप डेटा को भी पाइप कर सकते हैं wc
:
$ cat /dir/file.txt | wc -l
32724
$ curl google.com --silent | wc -l
63
डायरेक्टरी में कितनी लाइनें हैं।
प्रयत्न:
find . -name '*.pl' | xargs wc -l
एक और एक लाइनर:
( find ./ -name '*.pl' -print0 | xargs -0 cat ) | wc -l
BTW, wc
कमांड नए लाइनों के कोड को गिनता है, लाइनों को नहीं। जब फ़ाइल में अंतिम पंक्ति नए लाइन कोड के साथ समाप्त नहीं होती है, तो इसे गिना नहीं जाएगा।
आप grep -c ^, पूर्ण उदाहरण का उपयोग कर सकते हैं:
#this example prints line count for all found files
total=0
find /path -type f -name "*.php" | while read FILE; do
#you see use grep instead wc ! for properly counting
count=$(grep -c ^ < "$FILE")
echo "$FILE has $count lines"
let total=total+count #in bash, you can convert this for another shell
done
echo TOTAL LINES COUNTED: $total
कुल कितनी पंक्तियाँ
यकीन नहीं है कि मैं समझ गया कि आप सही ढंग से अनुरोध करते हैं। उदाहरण के लिए, यह निम्न प्रारूप में परिणाम देगा, प्रत्येक फ़ाइल के लिए लाइनों की संख्या दिखाएगा:
# wc -l `find /path/to/directory/ -type f`
103 /dir/a.php
378 /dir/b/c.xml
132 /dir/d/e.xml
613 total
वैकल्पिक रूप से, केवल नई लाइन वर्णों की कुल संख्या को आउटपुट के लिए फ़ाइल के बिना फ़ाइल के लिए निम्न कमांड के लिए मायने रखता है उपयोगी साबित हो सकता है:
# find /path/to/directory/ -type f -exec wc -l {} \; | awk '{total += $1} END{print total}'
613
सबसे महत्वपूर्ण बात, मुझे इसकी जरूरत 'मानव पठनीय प्रारूप' जैसे है। 12345678 के बजाय 12,345,678
बैश में एक प्रिंटफ फ़ंक्शन होता है:
printf "%0.2f\n" $T
हमेशा की तरह, कई अलग-अलग विधियां हैं जिनका उपयोग यहां वर्णित समान परिणामों को प्राप्त करने के लिए किया जा सकता है।