Yoda's proposal is working fine if the quoted column is the last one you want to keep. Try this for an arbitrary last column:
Code:
awk ' {for (i=2; i<=NF; i+=2) { # every second field is one inside double quotes
gsub (/,/, "\001", $i) # replace every comma in quoted field by something
}
split ($0, TMP, ",") # get the comma separated fields into an temp array
$0=""
for (i=1; i<=COLS; i++) $0=$0 ($0?",":"") TMP[i] # rebuild $0 from this array using only COLS columns
gsub ("\001", ",") # replace something back to commas
}
1 # print new $0 string
' FS="\"" OFS="\"" COLS=4 file # parameter COLS has number of columns to keep
This is not yet what you requested in your last post, to keep any arbitrary column, but you can use it as a starting point...
EDIT: try this to keep arb. columns:
Code:
awk 'FNR==1 {CNT=split(COLS, CNo, ",")} # get desired columns into array
{for (i=2; i<=NF; i+=2) { # every second field is one inside double quotes
gsub (/,/, "\001", $i) # replace every comma in quoted field by something
}
split ($0, TMP, ",") # now get the comma separated fields into an temp array
$0=""
for (i=1; i<=CNT; i++) $0=$0 ($0?",":"") TMP[CNo[i]] # rebuild $0 from this array using only COLS columns
gsub ("\001", ",") # replace something back to commas
}
1 # print new $0 string
' FS="\"" OFS="\"" COLS=1,3,6 file # parameter COLS has number of columns to keep
column1, column3, column6
455,12,890
4432,"another, string with quotes, and with two comma in between",12
11,"simple string",333
Hi,
I have line in input file as below:
3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL
My expected output for line in the file must be :
"1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL"
Can someone... (7 Replies)
Hi all,
I have this text file containing 9 columns separated by space. The 8th columns contains the numbers.
C1 C2 C3 C4 C5 C6 C7 C8 C9
er rt yt gh iu nk il 0.07 xs
yt lr ty bg iu zk nh 0,0005 lt
...etc.
I want to replace the comma with full stop only in 8th coloumn.
the output... (8 Replies)
Hello, I was looking for a way to select between the repeated entries (column1) based on the values of absolute values of column 3 (larger value). For example if the same gene id has FC value -2 and 1, I should get the output as -2. Kindly help.
GeneID Description FC ... (2 Replies)
I have a CSV file as shown below
"1","SANTHA","KUMAR","SAM,MILLER","DEVELOPER","81,INDIA"
"2","KAPIL","DHAMI","ECO SPORT","DEVELOPER","82,INDIA"
File is comma delimited.All the field values are enclosed by double quotes. But while using awk or cut, it interprets the comma which is present in... (6 Replies)
Okay, I would like to delete all the commas in a .CSV file (TEST.CSV) or at least substitute them with empty space, that are enclosed in double quote.
Please see the sample file as below:
column 1,column 2,column 3,column 4,column 5,column 6,column 7,column 8,column 9,column 10... (8 Replies)
cat sample.csv
ID,Name,no
1,AAA,1
2,BBB,1
3,AAA,1
4,BBB,1
cut -d',' -f2 sample.csv | sort | uniq
this gives only the 2nd column values
Name
AAA
BBB
How to I get all the columns of CSV along with this? (1 Reply)
Hi
How can I delete a columns from a CSV file which has comma separated value with a string enclosed in double quotes or square bracket and a comma in between?
I have a csv file with below format.
Template,Target Server,Target Component,Rule Group,Rule,Rule Reference Number,Rule... (7 Replies)
Hi, all, I have a file that looks like:
## XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
## YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
#AA AB AC AD AE AF AG AH AI AJ AK AL
20 60039 60039 ... (5 Replies)
Dear Ladies & Gents,
I have a requirement to delete all the log files in /var/log/test directory that are older than 10 days and their first line begin with "MSH" or "<?xml" or "FHS". I've put together the following BASH script, but it's erroring out:
for filename in $(find /var/log/test... (2 Replies)
Discussion started by: Hiroshi
2 Replies
LEARN ABOUT PHP
db2_field_display_size
DB2_FIELD_DISPLAY_SIZE(3) 1 DB2_FIELD_DISPLAY_SIZE(3)db2_field_display_size - Returns the maximum number of bytes required to display a columnSYNOPSIS
int db2_field_display_size (resource $stmt, mixed $column)
DESCRIPTION
Returns the maximum number of bytes required to display a column in a result set.
PARAMETERS
o $stmt
- Specifies a statement resource containing a result set.
o $column
- Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a
string containing the name of the column.
RETURN VALUES
Returns an integer value with the maximum number of bytes required to display the specified column. If the column does not exist in the
result set, db2_field_display_size(3) returns FALSE.
SEE ALSO db2_field_name(3), db2_field_num(3), db2_field_precision(3), db2_field_scale(3), db2_field_type(3), db2_field_width(3).
PHP Documentation Group DB2_FIELD_DISPLAY_SIZE(3)