Sponsored Content
Full Discussion: How to parse csv format?
Top Forums Shell Programming and Scripting How to parse csv format? Post 302435529 by chebarbudo on Wednesday 7th of July 2010 05:29:32 PM
Old 07-07-2010
Thanks pravin27,
I forgot to say that I'm trying to find a shell language solution.
Altough your approach is interesting, I can't make it work. Do I need to do something special?
Code:
Can't locate Text/CSV.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at parser.pl line 4.
BEGIN failed--compilation aborted at parser.pl line 4.

Thanks rdcwayx,
I like your awk approach because it can fit my needs. But I get the following error:
Code:
awk: line 2: illegal reference to array a

What did I do wrong?

---------- Post updated at 22:29 ---------- Previous update was at 19:33 ----------

Hi there,
I did it another way (inspired by rdcwayx's idea) with sed:
The whole idea is to be able to interpret the csv output of inotifywait.
Code:
inotifywait -mrc -e modify -e attrib -e moved_to -e create /tmp/ 2>"$inotify_err" | while read -r; do
	eval "$(echo "$REPLY" | sed -r 's#'\''#'\'\\\\\'\''#; s#^("([^"]*)"|([^"][^,]*)),("([^"]*)"|([^"][^,]*)),("([^"]*)"|([^"][^,]*))$#file_name='\''\2\3\8\9'\''; action='\''\5\6'\''#')"
	echo "fn=$file_name"
	echo "a=$action"
done

Thanks for your help
Santiago
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

How to Parse a CSV file into a Different Format

Hi I have a CSV file with me in this format Currency, USD, EUR, USD, 1.00, 1.32, EUR, 0.66, 1.00, How do I transpose the file to get to the format below. currency, currency, rate USD, USD, 1.00 USD, EUR, 1.32 EUR, USD, 0.66 EUR, EUR, 1.00 Thanks for your help We are using... (2 Replies)
Discussion started by: cdesiks
2 Replies

2. Shell Programming and Scripting

CSV File parse help in Perl

Folks, I have a bit of an issue trying to obtain some data from a csv file using PERL. I can sort the file and remove any duplicates leaving only 4 or 5 rows containing data. My problem is that the data contained in the original file contains a lot more columns and when I try ro run this script... (13 Replies)
Discussion started by: lodey
13 Replies

3. Shell Programming and Scripting

Unix Script to parse a CSV

I am writing a unix script that will parse a CSV and edit the values. My CSV looks like this 0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0 10,11,7,0,4,12,2,3,7,0,11,3,12,4,0,5,5,4,5,0,8,6,12,0,9,3,3,0,2,7,8... (16 Replies)
Discussion started by: RJ17
16 Replies

4. Shell Programming and Scripting

Parse XML file into CSV with shell?

Hi, It's been a few years since college when I did stuff like this all the time. Can someone help me figure out how to best tackle this problem? I need to parse a file full of entries that look like this: <eq action="A" sectyType="0" symbol="PGR" exch="CA" curr="VEF" sess="NORM"... (7 Replies)
Discussion started by: Pcushing
7 Replies

5. Shell Programming and Scripting

Parse csv file

Hi, Our requirement is to parse the input file(.csv format). The each column in the file is delimited with comma. We need to take each column and apply some business validation rule. If data itself contains comma, then those fields are enclosed with double quotes ("). We can see this double... (7 Replies)
Discussion started by: vfrg
7 Replies

6. Shell Programming and Scripting

Retaining the Unix CSV format in Excel format while exporting

Hi All, I have created a Unix Shell script whch creates a *.csv file and export it to Excel. The problem i am facing is that Users wants one of the AMOUNT field in comma separted values. Example : if the Amount has the value as 3000000 User wants to be in 3,000,000 format. This Amount format... (2 Replies)
Discussion started by: rawat_me01
2 Replies

7. Shell Programming and Scripting

how to parse this file and obtain a .csv or .xls

Hello Expert, I have a file in the following format: SYNTAX_VERSION 5 MONITOR "NAME_TEMPLATES" DESCRIPTION "Monitors for contents of error " INTERVAL "1m" MONPROG "script.sh NAME_TEMPLATES" MAXTHRESHOLD GEN_BELOW_RESET SEVERITY Major ... (17 Replies)
Discussion started by: Ant-one
17 Replies

8. Shell Programming and Scripting

Parse csv files by their names

HI all I have multiple csv files with the names VAR1_VAR2_VAR3_VAR4.csv All the files have the same structure inside just values change. I am trying to retrieve data from those files by fixing at each time one or more VAR. I tried to write a script but I have 2 problems: 2-... (1 Reply)
Discussion started by: Jhon.c
1 Replies

9. Shell Programming and Scripting

How to parse this file using awk and output in CSV format?

My source file looks like this: Cust-Number = "101" Cust-Name="Joe" Cust-Town="London" Cust-hobby="tennis" Cust-purchase="200" Cust-Number = "102" Cust-Name="Mary" Cust-Town="Newyork" Cust-hobby="reading" Cust-purchase="125" Now I want to parse this file (leaving out hobby) and... (10 Replies)
Discussion started by: Balav
10 Replies

10. Shell Programming and Scripting

Need a script to parse data and output to csv

I am not too savvy with arrays and am assuming that what I am looking for needs arrays. This is my requirement. So I have the raw data that gets updated to a log as shown below StudentInfo: FullInfo = { Address = Newark Age = 20 Name= John } StudentInfo:... (2 Replies)
Discussion started by: sidnow
2 Replies
PM_WHICH(1p)						User Contributed Perl Documentation					      PM_WHICH(1p)

NAME
pm_which - find installed modules SYNOPSIS
pm_which [ options ] module(s) Returns the path to the given module(s) OPTIONS -q, --quiet Just print paths -p, --paths Just convert the module name into a relative path -a, --all Print all paths, not just the first one found -n, --namespace Print all modules in the given namespace -m Only print module names, not paths -V Show module version -I libpath Add a path to search (like perl -I) -d, --dump Dump paths that would be searched (@INC by default) -h, --help Print this message -v, --version Print version information - Read modules from stdin, one per line DESCRIPTION
This tool reports the locations of installed perl modules. By default it lists the location of each specified module that would be loaded by require. OPTION DETAILS
quiet Under quiet mode, module names are suppressed and missing modules are not reported. Normal output: $ pm_which Module::One Module::Two Missing::Module Module::One - /path/to/Module/One.pm Module::Two - /path/to/Module/Two.pm Missing::Module - not found Under --quiet: $ pm_which -q Module::One Module::Two Missing::Module /path/to/Module/One.pm /path/to/Module/Two.pm paths In "paths" mode, each module is simply converted into a relative file path. This is possible even when the module is not installed. $ pm_which -p Missing::Module Missing/Module.pm all When the "all" switch is specified, all installed modules will be reported, not just the first one. This is useful for determining when there is a module installed in multiple locations. $ pm_which -a MyModule /path/to/MyModule.pm /home/me/perl/MyModule.pm namespace Arguments are taken as namespaces to search under. $ pm_which -n MyModule MyModule - /path/to/MyModule.pm MyModule::Foo - /path/to/MyModule/Foo.pm MyModule::Foo::Bar - /path/to/MyModule/Foo/Bar.pm -m Disables printing of module paths. This is only really useful in conjunction with --namespace. $ pm_which -nm MyModule MyModule MyModule::Foo MyModule::Foo::Bar -V Prints the version of each module, according to ExtUtils::MakeMaker. $ pm_which -V MyModule MyModule - /path/to/MyModule.pm [ 1.00 ] $ pm_which -Vnm MyModule MyModule [ 1.00 ] MyModule::Foo [ 0.01 ] MyModule::Foo::Bar [ undef ] dump Dumps the paths that would be searched and exits. This is @INC modified by any -I switches. $ pm_which --dump /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.6 ... $ pm_which -I lib --dump -I blib/lib lib blib/lib /usr/lib/perl5/site_perl/5.8.6 ... version Prints the version number of the script, plus the version and path of Module::Util that was loaded. EXIT CODES
o 0 - Everything was OK o 1 - Initialisation failed (bad switches?) o 2 - Some modules were not installed SEE ALSO
This utility comes with Module::Util. AUTHOR
Matt Lawrence <mattlaw@cpan.org> perl v5.14.2 2012-06-08 PM_WHICH(1p)
All times are GMT -4. The time now is 02:47 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy