cat + grep, bestimmte Zeilennummer anzeigen lassen

Hallo Leute,

komm einfach nicht mehr weiter. Ich weiß hört sich doch eigentlich leicht an:rolleyes: aber ich komm nicht drauf.

Hab eine große Datei mit vielen Einträgen, aus der möchte ich jetzt bestimmte Zeilen filter und anzeigen lassen

und mit

cat Dateiname | cat -x .....

komme ich nicht weiter

kennt jemand ein guten weg dafür?

Danke schon mal
 
grep suchbegriff dateiname <--- sucht den Begriff irgendwo
grep ^suchbegriff dateiname <--- sucht nach Zeilen die mit dem Begriff enden

Du kannst hier ganz normale regexp verwenden. Cat | grep ist sinnlosen Nutzen von cat. Sieh dir auch die Manpages zu grep/cat und die Funktion '-n' an.
 
Zuletzt bearbeitet:
du hast mich nicht verstanden

1 adfa asdflasd asdfka asdfkadsf
2 asldf asdkfja asdfjkal asdfka
3 asdlf asdfk a sdfk
4 adsf asdf asdf
5 asdfkalsdfjasdkfjjjd ddd

ich will jetzt 2-4 ausgeben

natürlich im größeren umfang

bei mir sind es glaub ich 18 000 Zeilen die ich ausgeben will
 
Wie wäre es, die Datei mit nl durchzunummerieren und dann mit egrep und nem regex für deine Zahlen (bspw. cat file | nl | egrep "^[234] ") die entsprechenden Zeilen auszugeben?
Ansonsten würde ich eher zu nem kleinen Perl-Script o.ä. raten, also die die Zeilen in ein Array und einfach mit ner Schleife die gewünschten Zeilen ausgeben.

/Edit: Wenn du genau die Zeilen weisst, die du ausgeben willst und alle aufeinanderfolgend sind, wäre ne Mischung aus head und tail auch anwendbar.
 
Sed kann auch helfen:

sed -n '1,10p' FILE == Zeile 1-10 aus FILE ausgeben
sed -n '20p' FILE == Zeile 20 aus FILE ausgeben

Oder auch awk:

awk 'NR == 5, NR == 10 ' FILE

== Zeile 5-10 Ausgeben
 
Puhh, von sed und awk hab ich mich bisher ferngehalten nachdem ich gesehn hab, dass es ganze Bücher über die beiden gibt :D Aber danke, das werd ich mir mal aufschreiben - vllt braucht mans mal.

cu
serow
 
Zurück
Oben