I have
while read $field1 $field2 $field3 $field4
do
$trimmed=$field2 | sed 's/ *$//g'
echo "$trimmed","$field3" >> new.csv
done < "$FEEDS"/"$DLFILE"
Now the problem is with read I can’t make it split fields csv style, can I? See the input csv format below.
I need to get columns 3 and 4 out, stripping the padding from col 2, and I don’t need the quotes.
Csv format with col numbers:
12 24(“)25(,)26(“)/27(Field2values) 42(“)/43(,)/44(Field3 decimal values)
“Field1_constant_value”,”Field2values “,Field3,Field4
Field1 is constant and irrelevant. Data is quoted, goes from 2-23 inside the quotes.
Field2 fixed with from cols 27-41 inside quotes, with the data at the left and padded by spaces on the right.
Field3 is a decimal number with 1,2, or 3 digits before the decimal and 2 after, no padding. Starts at col 74.
Field4 is a date and I don’t much care about it right now.
Yes, you can use read; all you’ve got to do is reset the environment variable
IFS— Internal Field Separator –, so that it won’t split lines by its current value (default to whitespace), but by your own delimiter.Considering an input file “a.csv”, with the given contents:
You can do this:
And the output is: