Sponsored Content
Top Forums Shell Programming and Scripting Initializing array using awk from parsed csv Post 302477561 by Chubler_XL on Sunday 5th of December 2010 08:57:19 PM
Old 12-05-2010
OK this should work OK:

Code:
$ cat TEMP_FILE
FIELD1, FIELD 2, FIELD 3, FIELD 4 etc
val1,     val2,      val3,     val4,  
test,1    test2,     test3,    test4,
x1,        x1,        x1,       x1
,        blank,      company,  here
space ship,  has,      a,      space
 
$  eval COMPANYCODE=($(awk -F, 'NR>1{ print $1?"\""$1"\"":"-"}' TEMP_FILE ))
 
$  echo ${COMPANYCODE[1]} 
test
 
$ echo ${COMPANYCODE[3]}
-
 
$  echo ${COMPANYCODE[4]}
space ship

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Read csv into Hash array?

Hi all experts, May I know how to read a csv file and read the content in a hash in PERL? Currently, I hard-coded and defined it in my code. I wanna know how to make up the %mymap hash thru reading the cfg.txt ==== csv file(cfg.txt): 888,444 999,333 === #!/usr/bin/perl my... (1 Reply)
Discussion started by: kinmak
1 Replies

2. Shell Programming and Scripting

Array not initializing

Hi, I have to use array in shell script to perform a logic. When I use below statements inside a script and execute, it gives me an error: $ cat test.sh set -A arr 10 20 30 echo ${arr} $ sh test.sh a: -A: bad option(s) But at the same time I can run above two statements without error... (3 Replies)
Discussion started by: nandanjain
3 Replies

3. Shell Programming and Scripting

Shell snip to import CSV data into BASH array

I have been trying to write a simple snip of bash shell code to import from 1 to 100 records into a BASH array. I have a CSV file that is structured like: record1,item1,item2,item3,item4,etc.,etc. .... (<= 100 items) record2,item1,item2,item3,item4,etc.,etc. .... (<= 100 items)... (5 Replies)
Discussion started by: dstrout
5 Replies

4. Programming

How to get the number of bytes parsed in libxml2

Hi, I am using the libxml2 sax parser to parse a in memory xml string along with validating it against a schema. I am using the following code: xmlSAXHandlerPtr sax_ = new xmlSAXHandler(); sax_->initialized = XML_SAX2_MAGIC; sax_->startElementNs =... (0 Replies)
Discussion started by: Sam Krishna
0 Replies

5. Shell Programming and Scripting

CSV to SQL insert: Awk for strings with multiple lines in csv

Hi Fellows, I have been struggling to fix an issue in csv records to compose sql statements and have been really losing sleep over it. Here is the problem: I have csv files in the following pipe-delimited format: Column1|Column2|Column3|Column4|NEWLINE Address Type|some descriptive... (4 Replies)
Discussion started by: khayal
4 Replies

6. Shell Programming and Scripting

Shell script to populate an array from a csv file

Hi Guys, I've got a script that runs and collects statistics from one of our machines and outputs the data into a csv file. Now, that script runs fine and I managed to create another one (with a lot of help from this forum!!) to trim the csv file down to all the data that I need, rather than all... (9 Replies)
Discussion started by: jimbob01
9 Replies

7. Shell Programming and Scripting

awk read column csv and search in other csv

hi, someone to know how can i read a specific column of csv file and search the value in other csv columns if exist the value in the second csv copy entire row with all field in a new csv file. i suppose that its possible using awk but i m not expertise thanks in advance (8 Replies)
Discussion started by: giankan
8 Replies

8. Shell Programming and Scripting

Place the contents of a .CSV file to an array

Hi, I am trying to place the contents of a .CSV file to an array, but not sure how to do that. Here is my .CSV file content: App,SLA,Job name,Avg start time,Avg run time,Frequency,Downstream apps XYZ,,ABC14345,3:00 AM,00.04.00,Daily,STAMP XYZ,9:00,ABC12345,3:15 AM,00.05.00,Daily,STAMP ... (4 Replies)
Discussion started by: ajayakunuri
4 Replies

9. Shell Programming and Scripting

How to Assign an shell array to awk array?

Hello All, Can you please help me with the below. #!/bin/bash ARR="No Differences In Stage Between HASH_TOTALS & HASH_TOTALS_COMP For UNINUM:0722075 PROVIDER:5 EXTRACT_DT:30-SEP-12 VER_NUM:1" ARR="No Differences In Stage Between HASH_TOTALS & HASH_TOTALS_COMP For UNINUM:0722075 PROVIDER:5... (14 Replies)
Discussion started by: Ariean
14 Replies

10. Shell Programming and Scripting

awk to parse section of csv into array

In the awk below I am trying to parse the Sample Name below the section. The values that are extracted are read into array s(each value in a row seperated by a space) which will be used later in a bash script. The awk does execute but no values are printed. I am also not sure how to print in a row... (1 Reply)
Discussion started by: cmccabe
1 Replies
CGI::FormBuilder::Source::YAML(3pm)			User Contributed Perl Documentation		       CGI::FormBuilder::Source::YAML(3pm)

NAME
CGI::FormBuilder::Source::YAML - Initialize FormBuilder from YAML file SYNOPSIS
use CGI::FormBuilder; my $form = CGI::FormBuilder->new( source => { source => 'form.fb', type => 'YAML', }, ); my $lname = $form->field('lname'); # like normal DESCRIPTION
This reads a YAML (YAML::Syck) file that contains FormBuilder config options and returns a hash to be fed to CGI::FormBuilder->new(). Instead of the syntax read by CGI::FormBuilder::Source::File, it uses YAML syntax as read by YAML::Syck. That means you fully specify the entire data structure. LoadCode is enabled, so you can use YAML syntax for defining subroutines. This is convenient if you have a function that generates valida- tion subrefs, for example, I have one that can check profanity using Regexp::Common. validate: myfield: javascript: /^[sS]{2,50}$/ perl: !!perl/code: >- { My::Funk::fb_perl_validate({ min => 2, max => 50, profanity => 'check' })->(shift); } POST PROCESSING
There are two exceptions to "pure YAML syntax" where this module does some post-processing of the result. REFERENCES (ala CGI::FormBuilder::Source::File) You can specify references as string values that start with &, $, @, or \% in the same way you can with CGI::FormBuilder::Source::File. If you have a full direct package reference, it will look there, otherwise it will traverse up the caller stack and take the first it finds. For example, say your code serves multiple sites, and a menu gets different options depending on the server name requested: # in My::Funk: our $food_options = { www.meats.com => [qw( beef chicken horta fish )], www.veggies.com => [qw( carrot apple quorn radish )], }; # in source file: options: @{ $My::Funk::food_options->{ $ENV{SERVER_NAME} } } EVAL STRINGS You can specify an eval statement. You could achieve the same example a different way: options: eval { $My::Funk::food_options->{ $ENV{SERVER_NAME} }; } The cost either way is about the same -- the string is eval'd. EXAMPLE
method: GET header: 0 title: test name: test action: /test submit: test it linebreaks: 1 required: - test1 - test2 fields: - test1 - test2 - test3 - test4 fieldopts: test1: type: text size: 10 maxlength: 32 test2: type: text size: 10 maxlength: 32 test3: type: radio options: - - 1 - Yes - - 0 - No test4: options: @test4opts sort: &Someother::Package::sortopts validate: test1: /^w{3,10}$/ test2: javascript: EMAIL perl: eq 'test@test.foo' test3: - 0 - 1 test4: @test4opts You get the idea. A bit more whitespace, but it works in a standardized way. METHODS
new() Normally not used directly; it is called from CGI::FormBuilder. Creates the "CGI::FormBuilder::Source::YAML" object. Arguments from the 'source' hash passed to CGI::FormBuilder->new() will become defaults, unless specified in the file. parse($source) Normally not used directly; it is called from CGI::FormBuilder. Parses the specified source file. No fancy params -- just a single file- name is accepted. If the file isn't acceptable to YAML::Syck, I suppose it will die. SEE ALSO
CGI::FormBuilder, CGI::FormBuilder::Source AUTHOR
Copyright (c) 2006 Mark Hedges <hedges@ucsd.edu>. All rights reserved. LICENSE
This module is free software; you may copy it under terms of the Perl license (GNU General Public License or Artistic License.) http://www.opensource.org/licenses/index.html perl v5.8.8 2007-12-09 CGI::FormBuilder::Source::YAML(3pm)
All times are GMT -4. The time now is 05:38 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy