PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bereich einer Datei ausgeben?



SeeksTheMoon
10-02-2004, 16:24
Ich möchte mit einem Shell-Script einen Bereich einer Datei ausgeben.
Und zwar weiß ich die Startzeile und die Endzeile (z.B. 5 und 9) und alles dazwischen soll mir angezeigt werden.
Eigentlich ist grep ja für zeilenweise Bearbeitung von Dateien da, aber ich habe nicht herausgefunden wie man da eine Startzeile und eine End-Zeile angeben kann.

Um es genauer zu sagen: Ich will den Output des finger-Programms teilweise ausgeben lassen:


~>finger -lm USER
Login: USER Name: USERNAME
Directory: /home/USER Shell: /bin/bash
On since Tue Feb 10 16:48 (CET) on pts/0 from 10.33.33.2
No mail.
Project:
Projekt1-Status:
[>_________] 5%

Projekt2-Status:
[=======>__] 80%
Plan:
Bla bla Plan-Text

Alles zwischen "Project:" und "Plan:" ist wichtig.
Wie mache ich das?

peschmae
10-02-2004, 18:58
Geht mit sed

http://www.grymoire.com/Unix/Sed.html#uh-28

MfG Peschmä

SeeksTheMoon
11-02-2004, 17:46
das klappt so nicht; finger gibt den kompletten Text aus und sed ignoriert es einfach.
Was A bei sed macht, konnte ich nirgendwo nachlesen und ein Substitute-s dürfte auch nicht nötig sein...
However, ich komm nicht weiter :D

phate
11-02-2004, 19:09
Insofern Du - wie berichtet - die Zeilennummern kennst, zwischen denen
der Text ausgegeben werden soll, würde ich mit 'head' und 'tail' arbeiten.
finger -lm USER | head -10 | tail -5 sollte zum gewünschten Ergebnis führen.

SeeksTheMoon
11-02-2004, 20:55
ok, das hat geklappt (warum bin ich da von alleine nicht drauf gekommen?)