String in Array aufteilen

7

Ich möchte die Zeichenfolge aufteilen und das Array erstellen. Ich habe den folgenden Code ausprobiert:

%Vor%

Können Sie uns bitte beraten?

    
Nathan Campos 24.10.2009, 11:44
quelle

5 Antworten

15

So würde ich dieses Problem angehen: Verwenden Sie die IFS-Variable, um der Shell (bash) mitzuteilen, dass Sie die Zeichenfolge in Doppelpunkt-getrennte Tokens aufteilen möchten.

%Vor%

Führen Sie es aus:

%Vor%     
Hai Vu 24.10.2009 23:23
quelle
5

Wenn Sie auf jeden Fall Arrays in Bash verwenden möchten, können Sie dies versuchen

%Vor%

Andernfalls ist die "bessere" Methode awk ganz zu verwenden

    
ghostdog74 24.10.2009 12:02
quelle
4

Beachten Sie, dass das Speichern und Wiederherstellen von IFS, wie ich es oft in diesen Lösungen gesehen habe, den Nebeneffekt hat, dass wenn IFS nicht gesetzt wurde, es zu einer leeren Zeichenkette wird, die seltsame Probleme mit anschließender Aufteilung verursacht.

Hier ist die Lösung, die ich basierend auf Anton Olsens wurde erweitert, um & gt; 2 Werte zu behandeln, die durch einen Doppelpunkt getrennt sind. Es behandelt Werte in der Liste, die Leerzeichen korrekt haben, nicht auf dem Leerzeichen aufteilen.

%Vor%     
Von 07.04.2011 11:35
quelle
3

Ksh oder Bash

%Vor%     
frayser 13.12.2012 06:00
quelle
2

Sieht so aus, als ob Sie bereits die Lösung gefunden haben, aber beachten Sie, dass Sie awk ganz weglassen können:

%Vor%     
outis 24.10.2009 12:16
quelle

Tags und Links