Páros sorok megfordítása fájlban bash scripttel
Beküldte Rimelek - 2010, február 26 - 22:23Minek irkálok ilyen scripteket? Ez speciel egyetemi szorgalmi feladat volt, s ha már megírtam ne vesszen el szegény.
A Script:
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.