[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: script gesucht



Am Montag, 25. Oktober 2004 08:47 schrieb Michelle Konzack:
> Am 2004-10-24 15:28:01, schrieb Matthias Houdek:
> > Am Sonntag, 24. Oktober 2004 13:41 schrieb Andreas Pakulat:
> > > On 24.Oct 2004 - 10:49:20, Matthias Houdek wrote:
> > > > cd <dir>; for datei in * ; do tail +2 "$datei" | cat - >
> > > > "$datei"; done
> > >
> > > Hast du das getestet? Das klappt naemlich nicht. Dabei wird eine
> > > leere Datei erzeugt!
> >
> > Klappt bei mir wunderbar. Hab's gerade noch mal in die Kommandozeile
> > kopiert - und es klappte wieder.
> > Natürlich habe ich nur Text-Dateien in <dir>, aber die auch mit
> > abartigen Dateinamen. Klappt trotzdem.
>
> Also das
>
>     tail +2 "$datei" | cat - > "$datei"
>
> funktioniert nicht. Du kannst nicht aus einer Datei lesen und
> gleichzeitig hineinschreiben. bei mir wird die Datei getrashed.

Hm, bei mir funxt es - zumindest mit Dateien bis 16 kB Größe:

-------
matthias@linux:~/test$ ls -l
insgesamt 24
-rw-r--r--  1 matthias users    16 2004-10-25 12:39 datei 1
-rw-r--r--  1 matthias users    16 2004-10-25 12:39 file.1 neu. 2
-rw-r--r--  1 matthias users 16236 2004-07-28 00:47 services
matthias@linux:~/test$ for datei in *;do tail +2 "$datei" | cat - > 
"$datei" ; done
matthias@linux:~/test$ ls -l
insgesamt 24
-rw-r--r--  1 matthias users    14 2004-10-25 12:39 datei 1
-rw-r--r--  1 matthias users    14 2004-10-25 12:39 file.1 neu. 2
-rw-r--r--  1 matthias users 16201 2004-10-25 12:39 services
-------

Die ersten beiden Dateien enthielten jeweils ein Zeichen pro Zeile (8 
Zeilen), das andere ist eine Kopie der /etc/services.

Es wurde ordnungsgemäß stets die erste Zeile gelöscht.

Es klappt nicht, wenn ich direkt in > "$datei" umleite. Dann ist $datei 
danach leer.

-- 
Gruß
  MaxX
Hinweis: PMs an diese Adresse werden automatisch vernichtet (Filter 
nach /dev/null).



Reply to: