Portál AbcLinuxu, 13. května 2025 23:11

Dotaz: Výpis do pole a potom mazání z pole

18.5.2011 18:22 Muhaha
Výpis do pole a potom mazání z pole
Přečteno: 250×
Odpovědět | Admin
Ahoj, chtěl bych vyřešit tohle... na vstupu by člověk něco napsal... To by se potom vložilo do pole, a potom by se to vypsalo... zkoušel jsem to dělat tak, že jsem to vypsal do souboru. Mazání jsem pak prováděl jako ... Co chcete smazat? read smaz, if [ grep $smaz ];then smazat, atd... Ale je to takhle zbytečné si myslím, když by to šlo raději ukládat do pole a potom to z toho pole vymazat. když se jedná jen o text. Bohužel jsem si všiml, že ty pole se moc nepoužívají, nemohl jsem najít nějakej example, kterej by mi to trochu osvětlil. Pomůžete? Díky
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

18.5.2011 19:00 Muhaha
Rozbalit Rozbalit vše Re: Výpis do pole a potom mazání z pole
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tady takhle to mám přes soubory, ale je to pěkně blbé. Pokud někdo znáte lepší způsob, jak vyřešit tenhle problém, tak prosím poradtě

http://pastebin.com/ZaCNxSTY
18.5.2011 20:01 NN
Rozbalit Rozbalit vše Re: Výpis do pole a potom mazání z pole
#!/bin/bash

array=()
volba=0

until [ "$volba" = "" ]; do
	echo -n "Pridej soubor/adresar: "; read volba
	array[${#array[*]}]=$volba
done

echo
echo "Vypis  soubor/adresar [0]"
echo "Odeber soubor/adresar [1]"
echo -n "Akce: "; read akce

case $akce in
	0)
	for ((i=0;i < ${#array[@]};i++ )); do
		echo ${array[$i]}
	done
	;;
	1)	
	for ((i=0;i < ${#array[@]};i++ )); do
		rm -r ${array[$i]} 2>/dev/null
	done
	;;
	*)
		exit 1
	;;
esac

exit 0
Treba takto..

NN
18.5.2011 20:14 Muhaha
Rozbalit Rozbalit vše Re: Výpis do pole a potom mazání z pole
Hned ta první podmínka, něco tam musí být špatně...
18.5.2011 20:25 Muhaha
Rozbalit Rozbalit vše Re: Výpis do pole a potom mazání z pole
ne,není, už jsem zmatený, pardon, díky, vyzkouším to
18.5.2011 20:35 Muhaha
Rozbalit Rozbalit vše Re: Výpis do pole a potom mazání z pole
Teda to odebrání nejde,
18.5.2011 19:45 l4m4
Rozbalit Rozbalit vše Re: Výpis do pole a potom mazání z pole
Odpovědět | | Sbalit | Link | Blokovat | Admin
No, nechápu sice ani dotaz, ani co má správně dělat ten skript, nicméně read do pole se provede read -a a a načtení souboru do pole a=($(<soubor)).
18.5.2011 19:53 Muhaha
Rozbalit Rozbalit vše Re: Výpis do pole a potom mazání z pole
Ten script má dělat to, že člověk něco napíše to se zapíše do texťáku,

teď má třeba texťák strukturu
Pavel
Lukáš
Martin
Robin
...
potom by mělo jít vybrat, který řádek umazat, zase to nabídne uživateli seznam a on zvolí, co smazat. Nechtěl jsem to dělat zbytečně přes > soubor, ale kdy by to šlo udělat přes pole..
18.5.2011 20:07 l4m4
Rozbalit Rozbalit vše Re: Výpis do pole a potom mazání z pole
A proč se to nedělá tak, že se uživatel nechá editovat soubor jeho oblíbeným textovým editorem?
18.5.2011 20:33 NN
Rozbalit Rozbalit vše Re: Výpis do pole a potom mazání z pole
#!/bin/bash

array=($(cat test))

echo ${array[@]}
echo
echo "Pridat  [0]"
echo "Odebrat [1]"
echo -n "Akce: "; read akce

case $akce in
        0)
        echo -n "Soubor/adresar: "; read volba
                array[${#array[*]}]=$volba
                echo $volba >> test
        ;;
        1)
        echo -n "Index: "; read index
                unset array[$index]
                echo ${array[@]} > test
        ;;
esac
NN
18.5.2011 22:15 Muhaha
Rozbalit Rozbalit vše Re: Výpis do pole a potom mazání z pole
Děkuji mnohokrát, slepil jsem to dohromady , co jsem potřeboval. Byl bych moc smělý, kdybych se Vás zeptal na nějaký kontakt na Vás, kdybych měl dotaz k něčemu? :)
18.5.2011 22:38 NN
Rozbalit Rozbalit vše Re: Výpis do pole a potom mazání z pole
Napiste to sem, chodim sem kazdy den, pripadne dejte kontakt na Vas a ja vam odepisu..

NN

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.