Saturday 16 April 2011

wc recursively in perl

Πάντα χρειαζόμουν ένα απλό script που να μετράει τις γραμμές κώδικα σε αρχεία και σε φακέλους αλλά και σε όλα τα αρχεία που βρίσκονται στους υποφακέλους. Και μιας και αυτό το διάστημα μαθαίνω perl είπα να δοκιμάσω την τύχη μου. Βέβαια το παρακάτω δεν κάνει τίποτε από ένα system call σε μια εντολή με pipes (που χρησιμοποιεί και awk) και να τυπώνει το αποτέλεσμα:

#!/usr/bin/env perl
if ( @ARGV > 0 )
{
$count = `find $ARGV[0] -type f -exec wc -l {} \\; | awk '{total += \$1} END{print total}'`;
print $count;
}
else
{
print "No arguments!\n";
}

No comments:

Post a Comment