From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=FREEMAIL_FROM, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from primenet.com.au (ns1.primenet.com.au [203.24.36.2]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id 75d8c6d7 for ; Sat, 2 Feb 2019 19:04:51 +0000 (UTC) Received: (qmail 23023 invoked by alias); 2 Feb 2019 19:04:30 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: List-Unsubscribe: X-Seq: 23853 Received: (qmail 16043 invoked by uid 1010); 2 Feb 2019 19:04:30 -0000 X-Qmail-Scanner-Diagnostics: from mout.gmx.net by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.100.2/25112. spamassassin: 3.4.2. Clear:RC:0(212.227.17.22):SA:0(-2.6/5.0):. Processed in 3.297824 secs); 02 Feb 2019 19:04:30 -0000 X-Envelope-From: dominik.vogt@gmx.de X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Date: Sat, 2 Feb 2019 19:59:11 +0100 From: Dominik Vogt To: Zsh Users Subject: Parsing CVS files Message-ID: <20190202185911.vsmvvsp5df3yaa3z@gmx.de> Reply-To: dominik.vogt@gmx.de Mail-Followup-To: Zsh Users MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: NeoMutt/20170113 (1.7.2) X-Provags-ID: V03:K1:Dema2UCJ+APLmStqVZsaEP2AtS17O6ETtnEAulbjN7rR8WQbinV +vzJw29McP/L9T9ioW3fDolF6P6XjbHpkdrQr19b3YuiPHtiyPDuIRd+eq/32kdJD8rjufp 44W5S/SmMs0NBx5dqFB+3Ta1NK302ePX5tYyel8N6Fuqaod9PJhy0fwv86jY2YBXCt23VW8 OcLAAeL8G3KhKsk50gMqQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:JSUSDEb+rbk=:Clqxzh9L6RNichvtTJVvR7 cMe+HGvpD6Z/2Kmdx+iURaUHj7UhRleAAiWzAZKUZrPNob3a/Rmoc3n/Txbq1ky4GDCNrQ2uA xzNHc0nhALi590ryfACWHzUFEp5zAglQn4n6h2xxt4EyQF9yd6450qVec4wiK2r2V5ZB1ji9s hJJjxHc0eN0CDN5ytHT63TR0963rlND9n5/07YqRF7z1UK3VBSzWa6cBjB8ZXHL5ARDScejhh AB7rHbU/ruCyUrhfzzk1mFBF8R5fAGc8BIvHc8PTA+Dcz6mtrzVVW9/RMsFrpLlZXkDDrZjXm gsqHPdfoSi/m9D+ey0VigoGi936y8GjpCu9HFZBRdLj5E4fTwOmxUAb8u2LQTRw1npMYSBQdu q9mnp1h6pXkjzR6mtuM8mJHg3cqed3Axfop6trrN/+eK0SBuMSbkY0vIerFN/vNFE4XQhaieq FFJHyvNsfuJ2/cJPz0qz06YrJ3tLfYkgFyB8jZ4Pp4uoyafOdvP5XsPv3TwKT9pqHaP4GK7sX ckMZwC0WdAHrjjlES/Nt+zHEqEXZXaAL6tKe+nrhAfkJvp0oQV4v6p2GT78uYXDR2TO2VcBxy xevM09kel9dja8K8Ttoyop1WgCSLBOCc3OVvIY1JGESg7SkzCgMvxf6K/91HPTUwJ0J9qwF1k mYey9vBVchLYzz1KFjJKaUcCSu1ojZE4RQ9cPl6rrdzRNFd11xrn4E6OP1hPZyaUKO7IjJWyM WH49sOvUBk/unNidvGnMjqfYe8ri9aXFCpYfkIWFO/WZpFj4u6ZbvhWXRcaWHu4glc0wNrNWg du3WZCkJaMbVS54zaMYpEXmPaaguNy6cLCCW7n6y6eAEAEoD7wUZWCE7jSaJ7KgQqsD4CmN9K uSmm2pT/ZMQfm4aKJwYEjMP3PPT73pfeneQrtZTMrFwbSl7QdkJopvXGwylWuU Hi folks, I'm looking for an easy way to split the lines of a .csv file into the fields of an array variable. There's a script that does that somewhore on the net. But that script parses lines character by character and just manages to parse about 100 (long) lines per second. Fields in a .csv file are separated by commas, *but* commas between a pair of quotes do not split. Or phrased differently: Commas that have an even number of double quotes left of them do split, but commas with an uneven number left of then don't split. Any ideas for a quick implementation? Ciao Dominik ^_^ ^_^ -- Dominik Vogt