Vystup 3 prikazu bash do jednoho radku

oldfrog.linux na volny.cz oldfrog.linux na volny.cz
Neděle Listopad 2 18:30:17 CET 2003


linux wrote:

>>mam takovy (asi i trivialni) problem.
>>Nize je uvedena radka prikazu a za zadnou cenu nemuzu docilit, aby 
>>vystupy vsech tri prikazu bylo vlozeny za sebe do jedineho radku.
>>
>>echo `date +%H%d%m%y` >> /a/soubor1 \ ; echo -n 'POKUSNA DATA ;' >> 
>>/a/soubor1  \ ; cat /b/vysledek >> /a/soubor1
>>
>>Poradi nekdo kde je chyba nebo co tomu jeste chybi??? Diky moc predem. 
>>Stanley
>>
>evim presne co chcete, mozna neco jako:
>
>Bud A)
>
>    { date; whoami; } >> soubor;
>
>Nebo B)
>
>    VAR=$(whoami; date;);
>    echo $VAR;
>
>
>Potrebuji do jednoho souboru(C)na jednu radku vlozit 3 udaje:
>
>1. aktualni datum (prikaz date) na první místo prvniho radku souboru C
>2. text ze souboru A (prikaz echo) na druhé místo prvniho radku souboru C
>3. cislo ze souboru B (prikaz echo) na druhé místo prvniho radku souboru C
>
>Stanley
>  
>
---cut---
#!/bin/sh
echo $(date; cat a; cat b) >> c
---cut---

Udela to presne, co popisujete. Nevyhoda oproti postupu, ktery
uvedl pan Houstek jest ta, ze nelze navratove hodnoty prikazu
'date' a 'cat' dale zpracovat - neprenesou se do skriptu. Takze
pokud napriklad soubory 'a' a 'b' nebudou existovat, ze skriptu
to nezjistite. Alespon me nenapada elegantni moznost.

Dalsi zmena spociva v tom, ze soubory 'a' a 'b' budou precteny cele,
tedy nejenom jejich prvni radky jako v pripade postupu pana Houstka.

Doporucuji Vasemu zajmu http://www.tldp.org/LDP/abs/html/ kde najdete
odpoved na mnohem vice otazek, vcetne prikladu z praxe.

Hodne zdaru preje
OldFrog.

-- 
------------------
Ondrej Nemecek
    alias 'OldFrog'

tel:     241766035
ICQ:     250163477
------------------




Další informace o konferenci Linux