Ich glaube nicht, gibt es eine Möglichkeit, diesen Befehl das Komma in Anführungszeichen zu ignorieren (zwischen den Dreien)?Trennzeichen in Bash ignorieren Trennzeichen in Anführungszeichen
$ echo 'one,two,"three,three",four' | { IFS=',' read -a array; echo ${#array[@]}; }
5
Nb. echo ${#array[@]}
Berichte Feldlänge ..
Sie versuchen im Wesentlichen, ein CSV-Format mit der Shell zu analysieren. Kurz gesagt, GNU awk kann es tun, aber nur einen CSV-Parser in einer Skriptsprache verwenden, z. Perl, Python oder Rubin. –
Ja Rscript kann es tun: 'Rscript -e" Drucken (Länge (scan (text = '$ (Echo' eins, zwei, "drei, drei \", vier ')', was = 'Zeichen', sep = ',', quiet = T))) '' – geotheory