AWK
-
#5
Annyit tudok besegíteni, hogy bevágom a régi kötprogomat.
#!/bin/bash
# parameterek szamanak ellenorzese
if [ $# -ne 2 ] ; then
echo "Hasznalat filenev.sh SZAM KONYVTAR"
exit 1
fi
#Értékadás
MERET=$1
KONYVTAR=$2
#könyvtár létezésének ellenőrzése
if [ ! -d $KONYVTAR ] ; then
echo "Hasznalat filenev.sh SZAM KONYVTAR"
exit 1
fi
#Váltás a könyvtárra
cd $KONYVTAR
#Fileok méretének lekérése
OSSZMERET=0
#mappában levő fileok vizsgálata
for FILE in `ls`
do
FILEAKTUALIS=$FILE
#ha az állomány mappa
if [ -d $FILEAKTUALIS ] ; then
DIRS=0
#megszámoljuk az almappák számát
for FILE in `ls $FILE` ; do
#FILEBELSO=$file
if [ -d $file ] ; then
DIRS=$(($DIRS + 1))
fi
done
#majd kiírjuk a megadott szöveget
echo "$FILEAKTUALIS/($DIRS)"
fi
#ha az állomány file
if [ -f $FILEAKTUALIS ] ; then
#lekérdezzük a file méretét
AKTUALISMERET=`cat $FILEAKTUALIS | wc -c`
#ellenőrizzük, hogy a mérete nagyob, egyenlő-e mint a MERET
if [ $MERET -le $AKTUALISMERET ] ; then
#utolsó előtti sorának meghatározása
SOR=`tail -2 $FILEAKTUALIS| head -1`
#kiíratás
echo "<---"
echo "$FILEAKTUALIS($AKTUALISMERET)"
echo $SOR
echo "--->"
#méret hozzáadása az összeshez
OSSZESMERET=$(($OSSZESMERET+$AKTUALISMERET))
fi
fi
done
#a megfelelt fileok méretének kiiratása
echo "Osszesen: $OSSZESMERET bajt"