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: