kopieren von bestimmten zeilen

N

NINONI

Grünschnabel
hallo,

ich brauche dringend hilfe! und zwar: möchte bestimmte zeilen aus einer in die andere datei kopieren mithilfe unixbefehlen und schaffe das nicht, hab schon mit sed und grep probiert aber ohne erfolg...

wäre super wenn mir jemand ein tipp geben könnte.

lg
NINONI
 
Tip: Schau Dir mal eine Kombination von 'head' und 'tail' an.
 
wenn Du mal genauer beschreibst, von was es abhängig ist, ob Du die Zeile kopieren willst oder nicht - dann können wir vielleicht auch helfen....

- willst Du die ersten oder letzen n-Anzahl von Zeilen aus der datei kopieren?

- oder suchst Du nach bestimten Suchwörten?

- willst Du z.B. jede 10.te Zeile aus der Datei kopieren

- usw.........??
 
danke erstmal!

also, ich möchte die zeilen, die mit z.b. "wort" enden in eine andere datei kopieren...

das löschen habe ich schon mit

sed '/wort$/d' DATEI > ZIELDATEI

hinbekommen, aber das kopieren hat mich total überfordert...

freu mich auf die lösung!

lg
NINONI
 
grep ist dazu schon das richtige Programm. Die Syntax ist der von sed sehr aehnlich, nur dass Du keine Begrenzungen '/' und keinen Loeschbefehl 'd' brauchst. Umschliesse das ganze noch mit doppelten statt einfachen Anfuehrungszeichen.
 
mein problem ist eigentlich, dass ich diese bestimmten zeilen in eine andere datei kopieren oder verschieben möchte, also, es soll dann eine datei nur mit diesen zeilen entstehen...

ich könnte z.b. auch alles andere löschen außer diesen bestimmten zeilen, aber das ist zu aufwendig: dann müsste ich ja alles andere, was gelöscht werden muss, definieren :(
 
Also,

willst du nun die entsprechenden Zeilen in Datei1 auch löschen oder nur in Datei2 kopieren?

für letzteres würde ich folgendes machen:

Code:
grep [Muster] [Datei1] > [Datei2]

[Muster] steht hier für das Wort.
 
Code:
grep 'wort$' DATEI > ZIELDATEI


nur zur Info....
-v bewirkt genau das Gegenteil....
Alle Zeilen bei denen nicht "wort" am Ende der Zeile steht, werden in die Zieldatei umgeleitet.....
Code:
grep -v 'wort$' DATEI > ZIELDATEI
 
... und wenn es dann doch sed sein soll, geht auch
Code:
sed -e '/wort$/d' DATEI >OHNE
sed -ne '/wort$/p' DATEI >MIT

Ist natürlich genauso unschön wie bei grep, dass DATEI zweimal gelesen werden muss. Will man das verhindern, müsste man wohl awk oder Perl bemühen, etwa wie in diesem Schnellschuss:
Code:
perl -ne '/wort$/ and print STDOUT $_ or print STDERR $_;' DATEI >MIT 2>OHNE

Gruss,
A.
 

Ähnliche Themen

sed - Bitte um Unterstützung

Hilfe für ein shell script

SED: eine Zeile mit einem Grep-Output ersetzen

Unix: Zeile aus ManSeite kopieren

HTML Code isolieren

Zurück
Oben