Single Quote als Trenner für split(awk)

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von rgre, 16.04.2010.

  1. #1 rgre, 16.04.2010
    Zuletzt bearbeitet: 16.04.2010
    rgre

    rgre Grünschnabel

    Dabei seit:
    16.04.2010
    Beiträge:
    3
    Zustimmungen:
    0
    Hallo,

    ich sitze an einem Problem und bekomm es einfach nicht hin.

    Aufgabe:

    In einer Datei im Format

    1;600189;1;600181;'ab'sdfdsf';'aaaaaaaa';

    soll im 5. Feld im Text, der durch ' ' eingeschlossen ist, das ' im Text verdoppelt werden.

    Ansatz hierzu ist folgendes awk-Skript, aber es gelingt mir nicht den Trenner '
    anzugeben

    Code:
    awk ' BEGIN {
                   FS=";"
                }
          {
    
             if ( $5 ~ /^\047.*\047.*\047$/ )
             {
                print "Single Quote gefunden " $5
                res = split( $5, array, "\047" )
                print "Anzahl " res
                for ( ix in array )
                   print "Array[" ix "] " array[ix]
    
             }
          }
        '  $1
    
    Ausgabe:

    Code:
    Single Quote gefunden 'ab'sdfdsf'
    Anzahl 1
    Array[1] 'ab'sdfdsf'
    

    Ich bekomme also den String nicht zerlegt, was mache ich falsch ?
    Danke schon mal für jede Hilfe
    .
    .
    .
    EDIT (autom. Beitragszusammenführung) :
    .

    Es handelt sich hier um eine SUN/Solaris 10 Umgebung.
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 floyd62, 16.04.2010
    floyd62

    floyd62 Routinier

    Dabei seit:
    01.05.2007
    Beiträge:
    309
    Zustimmungen:
    0
    Hi,

    probier das doch mal mit nawk statt awk ... Ich nehme an, bei dir ist auch /usr/bin/awk ein Link auf den alten oawk, korrekt?

    Gruss,
    A.
     
  4. rgre

    rgre Grünschnabel

    Dabei seit:
    16.04.2010
    Beiträge:
    3
    Zustimmungen:
    0
    Hallo,

    vielen Dank für den schnellen Tip, ja das ist so, zwar kein Link, aber das oawk-Binary

    -r-xr-xr-x 2 root bin 89128 Jan 8 2007 oawk*
    -r-xr-xr-x 1 root bin 126964 Jan 8 2007 nawk*
    -r-xr-xr-x 2 root bin 89128 Jan 8 2007 awk*


    Wenn ich /usr/bin/nawk verwende, sieht der Output schon viel besser aus:

    Single Quote gefunden 'ab'sdfdsf'
    Anzahl 4
    Array[2] ab
    Array[3] sdfdsf
    Array[4]
    Array[1]

    Damit komme ich natürlich schon weiter, vielen Dank und ein schönes Wochenende.

    Gruß Roland
     
Thema:

Single Quote als Trenner für split(awk)

Die Seite wird geladen...

Single Quote als Trenner für split(awk) - Ähnliche Themen

  1. Rootserver SingleIP-KVM Setup?

    Rootserver SingleIP-KVM Setup?: Hallo zusammen, ich hoffe ich bin hier in der richtigen Sektion gelandet. Ich hab folgendes vor und wollt von euch nur n schubs in die richtige...
  2. SIngle Monitor erzwingen

    SIngle Monitor erzwingen: Hallo, seit dem letzten dist-upgrade habe ich das Problem, dass der Desktop sowohl mit dem offenen als auch mit dem proprietären ati treiber...
  3. Linux auf SingleBoardComputer

    Linux auf SingleBoardComputer: Hallo Gemeinde, ich bin zur Zeit am Grübeln, was für eine Linuxdistri ich für einen SingleBoardComputer am besten verwende. Specs des SBC sind:...
  4. Segmentation fault at /usr/share/YaST2/clients/sw_single.ycp:162 Segmentation f

    Segmentation fault at /usr/share/YaST2/clients/sw_single.ycp:162 Segmentation f: Moin Moin, ich hab hier auf SLES 9 ein Problem mit yast. Starte ich ihn aus der Konsole (kein X vorhanden, und das soll / muss auch so bleiben)...
  5. Dual vs Single Core?

    Dual vs Single Core?: Hi, ich hab mal ne Frage: MAn hört ja viel über Dual Core Prozessoren und deren Geschwindigkeiten... Nur meine Frage ist jetzt: Bringt ein...