Bash - sort – OS - GNU / Linux – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Bash - sort – OS - GNU / Linux – Fórum – Programujte.comBash - sort – OS - GNU / Linux – Fórum – Programujte.com

 

nashe
~ Anonymní uživatel
1 příspěvek
11. 6. 2009   #1
-
0
-

mam problem mam sort napsanej v bashi ale jak mile do nej otevru vetsi soubor tak mi ho to neseradi dobre nevite v cem by mohla bejt chyba :

#!/bin/bash

if test $# -ne 1
then
echo "Zadejte cestu k souboru! - např: ./sort.sh index.php"
exit
fi

#Následující kód ověří existenci souboru
if test -f $1
then
soubor=$1
else
echo "Soubot neexistuje!!!"
exit 0
fi

# Nactemem radky ze souboru do pole
i=0
pole=[]
while read radka; do
pole[$i]=$radka
i=$(expr $i + 1)
done <$soubor

prohodit() # definování funkce prohodit
{
local pomocna=${pole[$1]}
pole[$1]=${pole[$2]}
pole[$2]=$pomocna
return
}

#Pocet prvku v poli, pocet kroku cyklu
pocet_prvku=${#pole[@]}
echo "Pocet radku: $pocet_prvku"
let "pocet_kroku = $pocet_prvku - 1"

while [ "$pocet_kroku" -gt 0 ]
do

index=0

while [ "$index" -lt "$pocet_kroku" ]
do
if [ ${pole[$index]} \> ${pole[`expr $index + 1`]} ]
then
prohodit $index `expr $index + 1`
fi
let "index += 1"
done
let "pocet_kroku -= 1"
done

# Vypsani serazeneho pole
i=0
while [ "$i" -lt "$pocet_prvku" ]
do
echo ${pole[$i]}
let "i += 1"
done

exit 0

Nahlásit jako SPAM
IP: 92.62.224.–
KIIV
~ Moderátor
+43
God of flame
11. 6. 2009   #2
-
0
-

neni nepsi pouzit prikaz sort ?

Nahlásit jako SPAM
IP: 80.188.94.–
Program vždy dělá to co naprogramujete, ne to co chcete...
tmi0
Věrný člen
11. 6. 2009   #3
-
0
-

priste prosim trochu lepe formatovat...
pokud ti funguje pro male soubory, ale velke ne, cekal bych ze chyba bude nekde v limitech jazyka, tedy ze neco pretyka a tak. v manualu bashe se sice pise ze velikost pole je neomezena, ale ... zkousej pro jak velke soubory ti to zacne blbnout to by mohlo napovedet.

ted par kosmetickych veci: pocet radku souboru zjistit `cat soubor | wc -l`, pocitat prvky pole bude dle me pomalejsi. druhak, kdyz uz si musis napsat vlastni sort, tak aspon pis nejaky poradny ;), trebas merge sort se da krasne napsat pomoci slevani souboru...

To KIIV : pro prakticke ucely urcite :)

Nahlásit jako SPAM
IP: 213.226.226.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 2 hosté

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý