first_unix_nutzer Geschrieben 16. Februar 2003 Teilen Geschrieben 16. Februar 2003 Hallo! :confused: Ich möchte eine Shellprozedur schreiben, der die Dateien group und passwd ausliest und mir nur die benötigten Einträge in eine Datei schreibt. Also z.b. von group soll er nur die erste und vorletzte Eintrag in Zeile rausschreiben. Von: # $FreeBSD: src/etc/group,v 1.19 1999/08/27 23:23:41 peter Exp $ # wheel:*:0:root daemon:*:1:daemon kmem:*:2:root sys:*:3:root tty:*:4:root Zu: wheel 0 daemon 1 kmem 2 sys 3 tty 4 Eine Schleife muss gemacht werden, der dann jede Zeile einzeln liest. Wie trenne ich das? Danke für eure hilfe Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sumpfbiber Geschrieben 17. Februar 2003 Teilen Geschrieben 17. Februar 2003 Originally posted by first_unix_nutzer Hallo! :confused: Ich möchte eine Shellprozedur schreiben, der die Dateien group und passwd ausliest und mir nur die benötigten Einträge in eine Datei schreibt. Also z.b. von group soll er nur die erste und vorletzte Eintrag in Zeile rausschreiben. Von: # $FreeBSD: src/etc/group,v 1.19 1999/08/27 23:23:41 peter Exp $ # wheel:*:0:root daemon:*:1:daemon kmem:*:2:root sys:*:3:root tty:*:4:root Zu: wheel 0 daemon 1 kmem 2 sys 3 tty 4 Eine Schleife muss gemacht werden, der dann jede Zeile einzeln liest. Wie trenne ich das? Danke für eure hilfe Wie du die Schleife machst, findest du hier http://www.fachinformatiker-world.de/forums/showthread.php?s=&threadid=24157&highlight=zeilenweise Den Rest machst mit awk Beispiel für die /etc/group #!/bin/bash FILE="/out.txt" SIZE=`cat -n $FILE | tail -1` echo $SIZE | awk -F: ' { print $1 $3 } ' n=1 while [[ $n -le "$SIZE" ]] do head -$n $FILE | tail -1 n=$(($n+1)) done Sumpfbiber Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.