Re: sed und regex

From: Simon 'corecode' Schubert <corecode(at)fs.ei.tum.de>
Date: Wed, 7 Jan 2004 04:05:04 +0100

On 07.01.2004, at 03:41, Robert Barten wrote:

>>>>> cat datei | \
>>>>> sed -E 's/(setenv MST.*karl)"/\1;\/usr\/local\/mst\/barb\"/' >
>>>>> datei
>>>> Vorsicht, das geht schief! Auf diesen "Trick" bin ich auch
>>>> schon reingefallen.
>>>>
>>>> Denn die Umleitung mit '> datei' loescht diese, so dass cat nur
>>>> noch EoF sieht.
>>> Nein, nach der Pipe ist Schluss. Getestet.
>> unfug:
>>
>> % echo spam > bar
>> % cat bar | sed -e 's/sp/h/' > bar
>> % cat bar
>> %
>>
>> das ist ja auch klar: die Shell macht die Umleitung auf `bar', und
>> zwar
>> *bevor* sie cat ausfuehrt. Da ist dann die Datei schon ueberschrieben.
>
> Immer locker (tcsh):
>
> nvg(at)asus ttyp2 2:38 /home/nvg> echo spam > bar
> nvg(at)asus ttyp2 2:39 /home/nvg> cat bar | sed -e 's/sp/h/' > bar
> nvg(at)asus ttyp2 2:39 /home/nvg> cat bar
> ham

Ein Glueckstreffer! Ein positives Ergebniss kann keine Hypothese
beweisen; nur ein negatives Ergebniss kann eine Hypothese widerlegen.

Guck mal da:

3:59:59 corecode(at)r180176:~ % set count=0 && foreach i ( `jot 200` )
foreach? echo spam > bar && cat bar | sed -e 's/sp/h/' > bar && test -s
bar && set count=`expr $count + 1`
foreach? end
DING! corecode(at)r180176:~ % echo $count
194
4:00:37 corecode(at)r180176:~ %

4:01:36 corecode(at)chlamydia:~ > set count=0 && foreach i ( `jot 200` )
foreach? echo spam > bar && cat bar | sed -e 's/sp/h/' > bar && test -s
bar && set count=`expr $count + 1`
foreach? end
4:02:04 corecode(at)chlamydia:~ > echo $count
182
4:02:08 corecode(at)chlamydia:~ >

... geht scheinbar doch nicht immer?
1. System Mac OS X Darwin
2. System DragonFly

gruesse
   simon

-- 
/"\   http://corecode.ath.cx/#donate
\ /
  \     ASCII Ribbon Campaign
/ \  Against HTML Mail and News

To Unsubscribe: send mail to majordomo.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 07 Jan 2004 - 04:07:18 CET

search this site