| Uutiset | Koodikirjasto | Wiki | Keskustelut | FAQ | Info |
Rowcounterroot 18.06.09 09:17 Bash-komentotulkille toteutettu rivilaskuri. Tein skriptan alunperin itseäni varten, koska olin kiinnostunut massiivisen kokoisen projektin sisältämistä rivimääristä.
#!/bin/bash
# Rowcounter v0.1
# Laskee tiedostoista rivien lukumäärän määritetyn polun (ja alihakemistojen) takaa,
# erittelee tulokset tiedostopäätteiden mukaan ja näyttää yhteenlasketun lopputuloksen.
# Tiedostoissa sijaitsevia mahdollisia kommentteja ei oteta huomioon.
# by Teemu Ikonen 6/2009 - http://iconen.org
# Polku, minkä takaa etsitään
path="/var/www"
# Tiedostopäätteet, joita etsitään
ptrn=(html htm css php inc js)
echo "Rowcounter v0.1"
echo "by Teemu Ikonen"
echo
echo "* Path: $path"
# Tyhjennetään kokonaislkm
unset total
# Käydään jokainen pääte läpi
for suffix in ${ptrn[*]}; do
echo -n "** Rows in files with suffix .$suffix: "
# Tiedostot läpi ja lisätään ne temp-muuttujaan
for file in `find $path -name "*.$suffix" -print`; do
temp="$temp $file"
done
if [ -z "$temp" ]; then
echo "N/A (no files)"
else
# Lasketaan rivien lkm
rows=`cat $temp | wc -l`
# Lisätään se kokonaismäärään
let "total = $total + $rows"
# Tulostetaan päätekohtainen lkm
echo $rows
fi
# Tyhjennetään muuttujat
unset temp rows
done
# Tulostetaan kokonaismäärä
echo "* Total rows: $total"
editoitu: 10:37 3.8.09 root 10:37 3.8.09 skoskine 19:09 15.9.09 Lisää alkuun 'unset total', niin voi käyttää useasti. Miten tuo jättää kommentit huomiotta? skoskine 21:44 15.9.09 Niin se laskee kaikki rivit. Kokeilin miten sais tyhjät rivit pois: grep '\w' |
![]() Haku
|