hallo bin eher linux newbie .. und habe folgendes problem:
ich muss zeilen aus einem file holen
das file hat zuerst einen header .. den will ich ignorieren und dann kommen numerierte Zeilen von eins aufwärts ... ich will nun die Zeilen die mit 1-10 anfangen ...
das ganze muss ich mit sed und tail machen .. wobei mir schleierhaft ist was ich mit tail dabei anfangen soll
wenn ihr mein problem nicht ganz verstanden habt wärmir auch schon geholfen wenn mir sed jemand genauer erklären könnte .. aus den manualpages wurde ich auch nicht viel schlauer ..
sed
-
- Linux
-
bics -
26. April 2004 um 14:15
-
-
-
-
> ich will nun die Zeilen die mit 1-10 anfangen
hmm, das wuerd ich dann mit "grep" machen. -
ja der witz bei der übung is ja dass ich das mitn nem sed nem tail undnem pipe machen soll .. so wie ich das verstanden habe..
-
Uebung?
Bei welcher Uebung musst du sowas machen? -
korpusbasierte sprachverarbeitung
-
Zitat von bics
korpusbasierte sprachverarbeitung
lol.
Vielleicht ein verspäteter Aprilscherz?
Wenn etwas "inhaltlich" mit 1-10 anfangen soll, brauchst Du dafür eine Regexp a la ([0-9]|10) (siehe auch Übersetzerbau / Lex). Diese Regexp verpackst Du dann in einen Search-Befehl von sed, in dem Du auch den Zeilenanfang erwähnen solltes (^), $ wäre Zeilenende.
So irgendwie kriegst Du dann alles, was mit 1 - 10 anfängt.
Wenn Du "formal" die ersten zehn Zeilen haben willst, nimmst Du, wie vom Kollegen angemerkt, am besten head dafür. tail kannst zwar auch nehmen, ist aber eher nicht die optimale Wahl.
Oder sollst Du tail vielleicht dafür verwende, dass das ganze "permanent", ohne Unterbrechung läuft? in der Art
tail -f datei | sed bla
Spiel Dich einfach mal mit diesen Informationen, sollte Dir schon weiterhelfen. Sonst: Bitte mehr Infos! // René!
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!