Predani dat ze stdin do promene - bash

Ing. Vlastimil Pospíchal vpospichal na tiscali.cz
Pátek Červenec 25 10:00:37 CEST 2003


On Fri, Jul 25, 2003 at 09:14:53 +0200, Martin Klumpler wrote:
> > > potrebuju v bash scriptiku dostat to, co mi prijde na stdin do promenne.
> > > Zkousel jsem dve metody, ani jedna neudelala to, co jsem cekal:
> >
> >    napr.
> >
> > cat vstupnisoubor | while read radek; do echo $radek; done
> 
> Diky za napad, v me situaci to ale neni pouzitelne, protoze to potom v
> zadnem okamziku nebudu mit v te promenne $radek kompletni vstup. Jde mi o
> to, ze potrebuju to, co prijde na stdin predat na stdin DVOU jinych programu
> a oba ty programy tam ten soubor potrebuji dostat najednou kompletni, po
> jednotlivych radcich jim to nestaci (protoze delaji nejake sumace, ke kterym
> ten soubor potrebuji cely, atd...).
> Martin

Nejprve mě napadlo

  while read -d ";" radek; do echo "$radek"; done <vstupnisoubor

kde ";" je znak, který se v textu nevyskytuje, ale pak jsem se lépe podíval
na zadání a možná by mohlo fungovat

  radek=`cat`
  echo "$radek"   # nezapomeň na uvozovky!

Ovšem je mi záhadou, proč těm programům nemůžeš záznamy poslat po řádcích.
Dokud výstup neuzavřeš, budou načítat. Zkus se ještě mrknout na příkaz tee.

Kit
-- 
Ing. Vlastimil Pospíchal
http://www.hoteldrnholec.cz


Další informace o konferenci Linux