awk to parse comma separated field and removing comma in between number and double quotes
Hi Experts,
Please support
I have below data in file in comma seperated, but 4th column is containing comma in between numbers, bcz of which when i tried to parse the file the column 6th value(5049641141) is being removed from the file and value(222.82) in column 5 becoming value of column6.
Dear All,
I have a comma-separated file.
1. The first line of the file(header) should have 4 commas(5 fields).
2. The last line of the file should have 1 comma(2 fields).
Pls help me in checking this condition in a shell script.
And the number of lines between the first line and last... (11 Replies)
I have a csv file with lines like the followings
123456,"ABC CO., LTD","XXX"
789012,"DEF LIMITED", "XXX"
before I bcp this file to database, the comma in "CO.," need to be removed first.
My script is cat <filename> | sed 's/"CO.,"/"CO."/g'
but it doesn't work. Can anyone here able to... (2 Replies)
I have a situation where I am reading a text file line-by-line. Those lines of data contain comma separated fields of data. However, each line can vary in the number of fields it can contain. What I need to do is parse apart each line and write each field of data found (left to right) into a file.... (7 Replies)
Hi Friends,
I'm working on a perl script, which seems to be simpler. But I'm very new to PERL scripting.
I have a comma separated data file, from which I need to extract only the seventh field data out of available twenty fields to an array using perl.
Any help would be much appreciated.
... (17 Replies)
Guys,
Need you help, i have a a file content that look like this.
Nokia 3330 <spaces><spaces><more spaces>+76451883874
Nokia 3610 +87467361615
so on and so forth,
- there are so many spaces in between.
- e.g.... (5 Replies)
I have a list of files with the same name, but they have a different date stamp in the name. I can find the first file, but I need to find the second file. I am using this information to create a variable I use later. Here is a example of how I find the first file.
"ls -mr... (11 Replies)
Hi, all
I need to get fields in a line that are separated by commas, some of the fields are enclosed with double quotes, and they are supposed to be treated as a single field even if there are commas inside the quotes.
sample input:
for this line, 5 fields are supposed to be extracted, they... (8 Replies)
I need to arrange output of SQL query into a comma separated format and I'm struggling with processing the output...
The output is something like this:
<Attribute1 name><x amount of white spaces><Atribute value>
<Attribute2 name><x amount of white spaces><Atribute value>
<Attribute3... (2 Replies)
Hello there,
I have a comma separated csv , and all the text field is wrapped by double quote. Issue is some text field contain comma as well inside double quote. so it is difficult to process.
Input in the csv file is ,
1,234,"abc,12,gh","GH234TY",34
I need output like below,... (8 Replies)
I am trying to re-format a .csv file using awk. I have 6 fields in the .csv file. Some of the fields are enclosed in double quotes and contain comma's inside the quotes. awk is breaking this into multiple fields.
Sample lines from the .csv file:
Device Name,Personnel,Date,Solution... (1 Reply)
Discussion started by: jxrst
1 Replies
LEARN ABOUT SUSE
dbi::sql::nano
DBI::SQL::Nano(3) User Contributed Perl Documentation DBI::SQL::Nano(3)NAME
DBI::SQL::Nano - a very tiny SQL engine
SYNOPSIS
BEGIN { $ENV{DBI_SQL_NANO}=1 } # forces use of Nano rather than SQL::Statement
use DBI::SQL::Nano;
use Data::Dumper;
my $stmt = DBI::SQL::Nano::Statement->new(
"SELECT bar,baz FROM foo WHERE qux = 1"
) or die "Couldn't parse";
print Dumper $stmt;
DESCRIPTION
DBI::SQL::Nano is meant as a *very* minimal SQL engine for use in situations where SQL::Statement is not available. In most situations you
are better off installing SQL::Statement although DBI::SQL::Nano may be faster for some very simple tasks.
DBI::SQL::Nano, like SQL::Statement is primarily intended to provide a SQL engine for use with some pure perl DBDs including DBD::DBM,
DBD::CSV, DBD::AnyData, and DBD::Excel. It isn't of much use in and of itself. You can dump out the structure of a parsed SQL statement,
but that's about it.
USAGE
Setting the DBI_SQL_NANO flag
By default, when a DBD uses DBI::SQL::Nano, the module will look to see if SQL::Statement is installed. If it is, SQL::Statement objects
are used. If SQL::Statement is not available, DBI::SQL::Nano objects are used.
In some cases, you may wish to use DBI::SQL::Nano objects even if SQL::Statement is available. To force usage of DBI::SQL::Nano objects
regardless of the availability of SQL::Statement, set the environment variable DBI_SQL_NANO to 1.
You can set the environment variable in your shell prior to running your script (with SET or EXPORT or whatever), or else you can set it in
your script by putting this at the top of the script:
BEGIN { $ENV{DBI_SQL_NANO} = 1 }
Supported SQL syntax
Here's a pseudo-BNF. Square brackets [] indicate optional items;
Angle brackets <> indicate items defined elsewhere in the BNF.
statement ::=
DROP TABLE [IF EXISTS] <table_name>
| CREATE TABLE <table_name> <col_def_list>
| INSERT INTO <table_name> [<insert_col_list>] VALUES <val_list>
| DELETE FROM <table_name> [<where_clause>]
| UPDATE <table_name> SET <set_clause> <where_clause>
| SELECT <select_col_list> FROM <table_name> [<where_clause>]
[<order_clause>]
the optional IF EXISTS clause ::=
* similar to MySQL - prevents errors when trying to drop
a table that doesn't exist
identifiers ::=
* table and column names should be valid SQL identifiers
* especially avoid using spaces and commas in identifiers
* note: there is no error checking for invalid names, some
will be accepted, others will cause parse failures
table_name ::=
* only one table (no multiple table operations)
* see identifier for valid table names
col_def_list ::=
* a parens delimited, comma-separated list of column names
* see identifier for valid column names
* column types and column constraints may be included but are ignored
e.g. these are all the same:
(id,phrase)
(id INT, phrase VARCHAR(40))
(id INT PRIMARY KEY, phrase VARCHAR(40) NOT NULL)
* you are *strongly* advised to put in column types even though
they are ignored ... it increases portability
insert_col_list ::=
* a parens delimited, comma-separated list of column names
* as in standard SQL, this is optional
select_col_list ::=
* a comma-separated list of column names
* or an asterisk denoting all columns
val_list ::=
* a parens delimited, comma-separated list of values which can be:
* placeholders (an unquoted question mark)
* numbers (unquoted numbers)
* column names (unquoted strings)
* nulls (unquoted word NULL)
* strings (delimited with single quote marks);
* note: leading and trailing percent mark (%) and underscore (_)
can be used as wildcards in quoted strings for use with
the LIKE and CLIKE operators
* note: escaped single quote marks within strings are not
supported, neither are embedded commas, use placeholders instead
set_clause ::=
* a comma-separated list of column = value pairs
* see val_list for acceptable value formats
where_clause ::=
* a single "column/value <op> column/value" predicate, optionally
preceded by "NOT"
* note: multiple predicates combined with ORs or ANDs are not supported
* see val_list for acceptable value formats
* op may be one of:
< > >= <= = <> LIKE CLIKE IS
* CLIKE is a case insensitive LIKE
order_clause ::= column_name [ASC|DESC]
* a single column optional ORDER BY clause is supported
* as in standard SQL, if neither ASC (ascending) nor
DESC (descending) is specified, ASC becomes the default
ACKNOWLEDGEMENTS
Tim Bunce provided the original idea for this module, helped me out of the tangled trap of namespace, and provided help and advice all
along the way. Although I wrote it from the ground up, it is based on Jochen Weidmann's orignal design of SQL::Statement, so much of the
credit for the API goes to him.
AUTHOR AND COPYRIGHT
This module is written and maintained by
Jeff Zucker < jzucker AT cpan.org >
Copyright (C) 2004 by Jeff Zucker, all rights reserved.
You may freely distribute and/or modify this module under the terms of either the GNU General Public License (GPL) or the Artistic License,
as specified in the Perl README file.
perl v5.12.1 2007-07-16 DBI::SQL::Nano(3)