Probleme mit dem Kommando cut

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Benutzeravatar
MartinN
Beiträge: 112
Registriert: 20.03.2006 09:53:15

Probleme mit dem Kommando cut

Beitrag von MartinN » 23.03.2006 11:14:38

Hallo,

ich hab folgendes Problem:
Mit dem Befehl "cut -d':' -f5" kann ich ja das fünfte Feld, das mit einem ":" getrennt ist anzeigen lassen. Jetzt interessiert mich, wie ich die Anzahl der Felder ausgeben kann.

Bsp:
Hall:dies:ist:ein:Test
hier sind es ja insgesammt 5 Felder

Weiß jemand, wie ich das meine, und wie ich das Problem lösen kann?
hab bei man cut nichts gefunden.

Bye

Benutzeravatar
grub
Beiträge: 130
Registriert: 19.07.2004 08:31:05
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Winterthur (Schweiz)
Kontaktdaten:

Beitrag von grub » 23.03.2006 11:48:26

Würd das mit einem kleinen Script löschen:

Code: Alles auswählen

#!/bin/sh

feld="Platzhalter"
text="hallo:das:ist:ein:test"
feldnummer=0

while [ "$feld" != "" ]
do
 ((feldnummer += 1))
 feld=`echo $text | cut -d : -f $feldnummer`
done

((feldnummer -= 1))
echo "Es sind insgesamt $feldnummer Felder"
Ist vom Code nicht allzuschön tut aber seinen Zweck.

gruss

Benutzeravatar
SimondP
Beiträge: 13
Registriert: 17.03.2006 12:33:05

Beitrag von SimondP » 23.03.2006 13:58:25

Hallo!

Wie wäre es mit awk:

Code: Alles auswählen

echo "halt:dies:ist:ein:test" | awk -F ":" '{ print NF}'
NF steht für Number of Fields und gibt die Anzahl zurück. Die einzelnen Felder kannst du mit $1, $2, ... bis $NF ansprechen.

Benutzeravatar
MartinN
Beiträge: 112
Registriert: 20.03.2006 09:53:15

Beitrag von MartinN » 23.03.2006 14:00:18

Habe schon die Lösung von grub genommen. Da ich im Prinzip nur eine Linux-Ausgabe in eine Webseite ändern soll, hab ich das script in PHP realisiert.

Trotzdem danke.

Bye

Antworten