Zeilen auslesen und in eine neue Datei schreiben

A

angelika

Grünschnabel
Hallo,
ich bin absoluter Anfänger und habe nun folgendes Problem:

Aus einer Log-Datei mit ca. 10.500.000 Einträgen möchte ich gerne mehrere zusammenhängende Zeilen auslesen und in eine neue Datei kopieren. Folgendes habe ich versucht:

Sed –n „7212821,10440747 test.log“ ask_user_rel__is1338__.log.42cc241a

und diese Meldung erhielt ich:
Sed: Can’t find label for jump to ‘est.log’

Ich befinde mich auf der Ebene wo auch die ask_user_rel__is1338__.log.42cc241a liegt und ausgelesen werden soll. Die test.log soll neu erstellt werden.

Kann mir jemand auf die Sprünge helfen?

Gruss
Angelika
 
Ich hab das so jetzt noch nicht gemacht und auch leider grad kein richtiges OS zur Hand, aber auf den ersten Blick würd ich mal sagen, dass die Angabe der Zieldatei test.log an der falschen Stelle sitzt, daher als Sprungmarke identifiziert wird und diese natürlich nicht vorhanden ist.

So frei aus dem Bauch heraus würd ichs mal so probieren
Code:
Sed –n „7212821,10440747“ ask_user_rel__is1338__.log.42cc241a >> test.log

und BTW: Willkommen im Board :)

// EDIT:

Gerade noch gefunden:

Code:
sed -n '7212821,10440747/w test.log' ask_user_rel__is1338__.log.42cc241a
 
Zuletzt bearbeitet:
Hi Cyber,
folgende Meldungen habe ich erhalten:

Code:
Sed –n „7212821,10440747“ ask_user_rel__is1338__.log.42cc241a >> test.log
Meldung:
Sed: e expression #1, char 17: Command only usess one address

Code:
sed -n '7212821,10440747/w test.log' ask_user_rel__is1338__.log.42cc241a
Meldung:
Sed: -e expression #1, char 16: unknown command: ``/’’

Die Variante mit /w hatte ich auch bei http://www.linuxfibel.de/sed.htm#script gefunden, schade, dass er wg. dem "/" meckert. Gibt es die Möglichkeit einer anderen Schreibweise?

Bye,
Angelika
 
Hi Angelika,

evtl. mal den Slash weglassen und nur ein Leerzeichen dazwischen setzen oder vtl. mal mit nem Komma probieren. Ansonsten muss ich passen, da ich leider im Moment keine bash zur Hand hab, sry.
 
Hallo
Du sitzt aber schon an einer *nix Kiste oder ?
Ich frage wegen deinem seltsamen Quoting, was mir sehr nach M$ ausschaut...
im Prinzip ist es recht einfach;
sed -n ' 7212821,10440747 p' test.log >ask_user_rel__is1338__.log.42cc241a
Das printet dir aus der Datei test.log die Zeilen 7212821 bis 10440747 (einschließlich!) in die Datei ask_user_rel__is1338__.log.42cc241a.
Beide Dateien liegen im gleichen Ordner.
Wenn du es andersrum willst vertausch einfach die beiden Dateinamen in der Zeile! Das > leitet die ausgabe von p = print in die Datei dahinter um. Die Eingabe kommt vom ersten Argument hinter dem gequoteten Anweisungen.
HTH Gruß Wolfgang
Edit
Latürnich habe ich hier einen fehler gemacht, und die / / zu entfernen vergessen, da es ja um Adressen geht statt RE 's -also korrigiert und wech...
 
Zuletzt bearbeitet:
Wolfgang_1 schrieb:
Hallo
Du sitzt aber schon an einer *nix Kiste oder ?
Ich frage wegen deinem seltsamen Quoting, was mir sehr nach M$ ausschaut...

Wenn mich meinst, leider Ja :).Wenn M$ halbwegs kompatibel zu offenen Formaten wär würd ich ja was anderes booten, aber so muss ich mich hier der Allgemeinheit fügen.
 
Cyber schrieb:
Wenn mich meinst, leider Ja :).Wenn M$ halbwegs kompatibel zu offenen Formaten wär würd ich ja was anderes booten, aber so muss ich mich hier der Allgemeinheit fügen.

LOL erwischt :D
Aber ich meinte dich garnicht, sondern Angelika wegen den unten stehenden Anführungszeichen und dann auch noch doppelt.

--->Sed –n 7212821,10440747 test.logask_user_rel__is1338__.log.42cc241a <-- das kann so nicht funktionieren.
Lösung: siehe mein obiges Geschreibsel.

Gruß Wolfgang
 
Hi,
Problem gelöst.
Daaaaankeeeee für die schnelle Hilfe und so funktionierts nun:

Code:
sed -n '7212821,10440747 w test.log' ask_user_rel__is1338__.log.42cc241a
 
Hallo Wolfgang,
ja, Du hast recht. Ich arbeite zeitgleich an 2 Rechnern, der eine ist mit ISDN über PuTTY auf dem Linux Server eingelogt. Und während dieser ISDN Verbindung mit spezieller Einwahl beim Kunden, habe ich keine Möglichkeit ins Internet zu kommen, deshalb der zweite Rechner und hier sind beim abspeichern des Codes mit Word die ' mit " ersetzt worden :dreht:

Danke für Deinen Lösungsvorschlag, sieht anders aus als meiner, aber wenn's funzt ist's ja egal.

Bye,
Angelika
 
Hallo
Ja, es gibt unter Unix meist mehrere Lösungen.
Unter M$ gibt es aber auch ein sed, dort müssen dann aber die Quotings ( so ich mich recht erinnere) doppelt sein.
Die Quoting wie sie in deinem ersten Posting stehen, dürften aber in keinem OS funktionieren.
Gruß Wolfgang
 

Ähnliche Themen

Keine grafische Oberfläche (Debian Installation)

Spalten einer Datei in neue Datei integrieren.

Zeielenblock von einer Datei in eine neue schreiben

Queue für copy Script

Neue ausführbare Datei mit Datensätzen aus einer Datei und Variablen erstellen

Zurück
Oben