Páros sorok megfordítása fájlban bash scripttel

Minek irkálok ilyen scripteket? Ez speciel egyetemi szorgalmi feladat volt, s ha már megírtam ne vesszen el szegény.

A Script:

if [ ! -f $1 ];
then
        echo "Első paraméter hiányzik, vagy nem létezik a fájl!"
        exit 1
fi
if [ $# -lt 2 ];
then
        echo "Második paraméter hiányzik"
        exit 1
fi

num=`wc -l $1 | cut -d" " -f1`
ret=();
i=0;
while  [ $num -gt 0 ];
do
        tmp=`tail -n ${num} $1 | head -n1`
        b=$((num % 2))
        if [ $b -eq 0 ];
        then
                ret[$i]=`echo $tmp | rev`
        else
                ret[$i]=`echo $tmp`
        fi
        let i++
        num=$((num-1))
done;
num=$i
while [ $i -gt 0 ];
do
        index=$((num-i))
        if [ $index -gt 0 ];
        then
                echo "${ret[$index]}" >> $2
        else
                echo "${ret[$index]}" > $2
        fi
        let i--
done;

Használata:
Mentsd el "rev.sh" néven, majd futtasd terminálban:

./rev.sh ./src.txt ./dst.txt

Ahol az src.txt a fájl, amiből olvas, és a dst.txt a fájl, amibe visszaírja az eredményt. Minden második sorát az src.txt -nek megfordítja és úgy írja be a dst.txt-be az src.txt tartalmát. A két fájl neve meg is egyezhet.

Megosztás/Mentés