regex - awk: parse columns like: [1,2,3] in csv file -


i have csv file looks so:

a, b, c 1, 2, [1, 2, 3] 4, 5, [7, 7, 7, 7, 8] 5, 3, [] 6, 5, [45, 45, 2, 1, 2, 8, 8] 

i extract third column via awk, me means telling awk field separator comma not inside pair of brackets. extract:

c 1,2,3 7, 7, 7, 7, 8  4, 4, 2, 1, 2, 8, 8 

i tried using regular expression set fs field separator on ubuntu command line:

awk '{fs = ["^\[],[^\]]"} {print $3}' file.csv 

but printed out:

c [ [ [] [4 

which not close like. problem how defining field separator or have done else wrong well? input.

you can use pattern field separator:

awk -f '^[^,]*,[^,]*, [[]?|]' '{print $2}' 

Comments

Popular posts from this blog

javascript - Using jquery append to add option values into a select element not working -

Android soft keyboard reverts to default keyboard on orientation change -

Rendering JButton to get the JCheckBox behavior in a JTable by using images does not update my table -