Good to Know Database

Bestimmte Zeilen aus einer Datei ausgeben


Wenn Sie bestimmte Zeilen einer Datei ausgeben wollen, können Sie diese zum Beispiel mit den Befehlen head und tail heraus filtern. Hierbei muss head alle Zeilen bis zur letzten gewünschten Zeile an das Programm tail weiterreichen welches anschließend nur die gewünschten Zeilen ausgibt.

Der folgende Befehl liefert Ihnen zum Beispiel nur die zehnte Zeile der Datei /etc/passwd.

georg@ubuntu904:~$ head -n 10 /etc/passwd | tail -n 1
news:x:9:9:news:/var/spool/news:/bin/sh

Bei mehreren Zeilen müssen die Zeilenangaben von head und tail entsprechend angepasst werden. Um zum Beispiel die Zeilen 10 bis 15 auszugeben würde der Befehl wie folgt aussehen.

georg@ubuntu904:~$ head -n 15 /etc/passwd | tail -n 6
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh

Eine einfachere Möglichkeit gewisse Zeilen zu extrahieren bietet sed. Die zehnte Zeile der Datei /etc/passwd liefert auch der folgende Befehl.

georg@ubuntu904:~$ sed -n '10 p' /etc/passwd
news:x:9:9:news:/var/spool/news:/bin/sh

Einen Bereich über mehrere Zeilen kann man ebenfalls angeben.

georg@ubuntu904:~$ sed -n '10,15 p' /etc/passwd
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh


Dieser Eintrag wurde am 02.07.2009 erstellt und zuletzt am 27.02.2011 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_7_678.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer