Hallo,
ich möchte den Inhalt von einer Datei (Logfiles) an andere anhängen. Welchen befehl kann ich dazu unter Suse 9.0 nutzen?
Vielen Dank & viele Grüße
Michael
Hallo,
ich möchte den Inhalt von einer Datei (Logfiles) an andere anhängen. Welchen befehl kann ich dazu unter Suse 9.0 nutzen?
Vielen Dank & viele Grüße
Michael
Hi,
ich möchte den Inhalt von einer Datei (Logfiles) an andere
anhängen. Welchen befehl kann ich dazu unter Suse 9.0 nutzen?
>cat
#> echo „erste Zeile“ > Datei1.txt
#> echo „zweite Zeile“ > Datei2.txt
#> cat Datei2.txt >> Datei1.txt
#> cat Datei1.txt
„erste Zeile“
„zweite Zeile“
#>
J+
Hi…
ich möchte den Inhalt von einer Datei (Logfiles) an andere
anhängen.
cat teil2.log >> teil1.log
genumi
Hi!
ich möchte den Inhalt von einer Datei (Logfiles) an andere
anhängen. Welchen befehl kann ich dazu unter Suse 9.0 nutzen?
Einerseits mit dem eben schon von 2 Leuten vorgeführten „Append“ Redirector ‚>>‘ oder einfach mit dem Programm das genau das macht: cat (conCATenate = zusammenhängen).
$ cat file1 file2 file3 ... \> fileA
Bye
Hansi
Hi…
oder einfach mit dem Programm
das genau das macht: cat (conCATenate = zusammenhängen).
Rah!
Ich benutze cat täglich und wusste bis heute nicht, daß es das kann
Eindeutig die eleganteste Antwort.
ge>>numi
Hi,
Ich benutze cat täglich und wusste bis heute nicht, daß es das
kann
das geht sogar (in Grenzen) mit Binärdaten (mp3, …)
Eindeutig die eleganteste Antwort.
Kommt drauf an was man will ) und ob eine neue Datei entstehen soll.
g,
J+
Hi,
Ich benutze cat täglich und wusste bis heute nicht, daß es das
kanndas geht sogar (in Grenzen) mit Binärdaten (mp3, …)
Eindeutig die eleganteste Antwort.
Kommt drauf an was man will
) und ob eine neue Datei
entstehen soll.
hm,
noe
cat file1 file2 \> /dev/stdout
cat file1 file2 \> file1
richtig extrem kann man es auch haben
cp file1 file2 /dev/stdout \> file
hm, aber echt shice das so zu machen, warum pipe ich eigentlich dann erst nach stdout?
cat piped auch immer erst nach stdout. ist eigentlich echt unschick, gibt es nicht etwas mit dem man direkt zwei dateien verbinden kann ohne erst alles nach stdout zu schieben?
Ich kann mich dunkel daran errinnern dass es mal einen Flamewar ueber das verwenden von cat in einem aehnlichtn zusammenhang gab.
hm
J+
gruss vom josh
Hi,
cat file1 file2 > file1
- eine alte datei wird ueberschrieben
das ist nicht erlaubt, siehe
#> cat file1 file2 > file1
cat: file1: Eingabedatei ist Ausgabedatei
Nur der Vollständigkeit halber
g,
J+
hiho,
Hi,
cat file1 file2 > file1
- eine alte datei wird ueberschrieben
das ist nicht erlaubt, siehe
#> cat file1 file2 > file1
cat: file1: Eingabedatei ist AusgabedateiNur der Vollständigkeit halber
oh richtig! und das mit dem cp ueber mehrere Dateien geht auch nicht. wie ich gerade bemerke, da meckert er.
cp: bacher@QotSA:~$ cp bla blabla /dev/stdout
copying multiple files, but last argument `/dev/stdout' is not a directory
Try `cp --help' for more information.
dennoch mache ich bei cat ja immer den umweg ueber stdout, wenn ich mehrere Dateien Konkateniere, warum? warum leite ich das nicht alles direkt in eine Datei ohne den Umweg.
g,
J+
mist, da will ich mal so richtig klugschei**en und brabbel nur wirres zeug
gruss vom beschaemten josh
hiho,
Hoho,
cat file1 file2 > file1
Das arme cat.
- eine alte datei wird ueberschrieben
das ist nicht erlaubt, siehe
#> cat file1 file2 > file1
cat: file1: Eingabedatei ist Ausgabedatei
$ cat file1 file2 |cat \>file1
(Nein, funktionieren tut es trotzdem nicht, aber damit kann’s cat nicht mehr an inodes rumschnueffeln. Ausserdem kann man nur mit sowas awards gewinnen.)
> cp: bacher@QotSA:~$
Oh Gott, ein case sensitiver hostname.
dennoch mache ich bei cat ja immer den umweg ueber stdout,
wenn ich mehrere Dateien Konkateniere, warum? warum leite ich
das nicht alles direkt in eine Datei ohne den Umweg.
Weil das arme cat doch gar keine Dateien schreiben kann. Das macht die Shell und die kommt vor allem anderen. Die sieht das >file1 und knippert stdout des Programms O_RWONLY|O_CREATE|O_TRUNC an die Datei. Und dabei wird sie nun mal leer. Erst dann kommt cat ueberhaupt zum Zuge und kann die Dateien O_RDONLY oeffnen. Leider ist da die eine Datei schon leer.
Gruss vom Frank.
Har Har
Hoho,
dennoch mache ich bei cat ja immer den umweg ueber stdout,
wenn ich mehrere Dateien Konkateniere, warum? warum leite ich
das nicht alles direkt in eine Datei ohne den Umweg.Weil das arme cat doch gar keine Dateien schreiben kann. Das
macht die Shell und die kommt vor allem anderen. Die sieht
das >file1 und knippert stdout des Programms
O_RWONLY|O_CREATE|O_TRUNC an die Datei. Und dabei wird sie
gr, ich rede erst wieder mit Dir wenn ich mehr ueber O_RWONLY|O_CREATE|O_TRUNC weiss. das ist keine drohung!
Heisst das soviel wie, die shell kommt gar nicht erst auf die idee das nach stdout zu schieben. es ist keine weiterleitung sondern eine echte umleitung?
Gruss vom Frank.
zurueck
gr, ich rede erst wieder mit Dir wenn ich mehr ueber
O_RWONLY|O_CREATE|O_TRUNC weiss. das ist keine drohung!
$ man 2 open
O_RWONLY ist darueberhinaus noch ein Typo.
Heisst das soviel wie, die shell kommt gar nicht erst auf die
idee das nach stdout zu schieben. es ist keine weiterleitung
sondern eine echte umleitung?
Die Shell schreibt gar nix. Fuer jeden Prozess werden schon beim Starten drei File-Descriptoren geoeffnet: stdin (0), stdout (1) und stderr (2). Normalerweise gibt eine Shell ihre eigenen Descriptoren an den Prozess weiter. Mit den Umleitungszeichen kann man die Shell anweisen, andere zu oeffnen. /dev/sdtout et al sind uebrigens einfach nur Geraete, die auf die Dateidescriptoren des aktuellen Prozesses zeigen.
Gruss vom Frank.
Hi!
dennoch mache ich bei cat ja immer den umweg ueber stdout,
wenn ich mehrere Dateien Konkateniere, warum? warum leite ich
das nicht alles direkt in eine Datei ohne den Umweg.
Nein, machst du nicht. Die Shell leitet das direkt in die Ausgabedatei um. Einfach indem es ‚cat‘ den Filediscriptor auf ./file3 gibt anstatt den Filedescriptor für „den Bildschirm“.
Bye
Hansi