Portál AbcLinuxu, 12. května 2024 00:32


Dotaz: Konstrukce while, if then break

14.7.2015 15:17 Lukas
Konstrukce while, if then break
Přečteno: 220×
Odpovědět | Admin
Ahoj, resim kontrukci while, muzete prosim poradit?Moc diky

/usr/bin/mycommand, ktery scrapuje informace, respektive seznam z vicerostejnych stranek a jeho vystup je ve tvaru:
Nejnovejsi_prispevek
datum
id
Starsi_prispevek
datum
id
Starsi_prispevek
datum
id
Nejstarsi_prispevek
datum
id
Pokazde, kdyz spustim mycommand se projede od nejnovejsiho po nejstarsi, stim, ze mam osetrene, ze po druhem spusteni se potlaci prispevky se stejnym id a na vystup se nedostanou, ale program jede dal. Ted potrebuju osetrit, aby program nepokracoval dal a zbytecne nevytacel dalsi spojeni a ukoncil se, pokud narazi na stejne id. Poprve se stane to, ze program stahne vsechny prispevky, podruhe, treba po tydnu chci, aby stahnul pouze inkrementalni prirustky a pokud uz najde novy prispevek, ukonci se. Do mycommand nemuzu zasahnout, protoze je to binarka, neovlivnim informace. Problem je take ten, ze chci, aby se vystup v souboru $cestakinformacim radil takto
Vzdynejnovejsi 
...
Novejsi
...
Nejstarsi
Dost dobre nerozumim, jestli pro porovnani $id nacpat vsechny $id ze stazenych informaci $cestakinformacim do pole a potom porovnavat, nebo jestli to jde udelat tak, jak to mam napsane.

Druhy problem, ktery me trapi je ten, ze nevim, jak pokazde tyto informace (vystup) radit na zacatek toho sameho souboru. Aby pri prochazeni grepem napr. mel rychlejsi odezvu v pripade hledani novejsich $id

while :
do
read name;
read id;
read date;
	if [ $id -eq cat /tmp/$cestakinformacim | awk -F "oddelovac " '{print $2}' | grep $id ]
	then
		break
	fi
  echo "$name $date oddelovac $id" >> /tmp/$cestakinformacim
done
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

14.7.2015 15:26 RickettsialPox | skóre: 20 | Praha, Žižkov
Rozbalit Rozbalit vše Re: Konstrukce while, if then break
Odpovědět | | Sbalit | Link | Blokovat | Admin
Bash/Dash/...?
Největší prvek každého hrdinského činu je strach. Život definuji jako "/dev/life >> /dev/null".
14.7.2015 15:59 Lukas
Rozbalit Rozbalit vše Re: Konstrukce while, if then break
Bash

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.