Sono stato in grado di comprendere dallo GNU page of GAWK che può gestire i delimitatori nei dati utilizzando la variabile FPAT
ma non riesco a vedere come funziona. Per un file CSV il valore FPAT è:awk Variabile FPAT: funzionante
FPAT = "([^,]+)|(\"[^\"]+\")"
Utilizzando i dati:
abc,"pqr,mno"
La prima espressione raggruppati restituisce tutto quello che cioè non una virgola, questo dovrebbe prendere "abc"
come dati quindi non riescono per la prima occorrenza della virgola. Ora la mia domanda è cosa accadrà dopo? Poiché la prima espressione raggruppata non è riuscita, l'espressione regolare continua dal carattere dopo la virgola utilizzando la condizione o? ma la prima espressione raggruppata continua ad essere valida per tutti i dati dopo la virgola, quindi potrebbe richiedere "pqr
come dati successivi?
La mia domanda è: perché l'espressione regolare inizia con il secondo modello in ", può sempre andare per [^,] perché i dati non sono virgola. Poiché regexp è avido, cercherà solo la prima corrispondenza, vero? va avanti per il più lungo? – ghub24
Grazie sudo_O, molto apprezzato – ghub24
@ user1844303 andrà per il più lungo. Un test facile è quello di cambiare l'ordine delle 2 espressioni regolari. –