Isso não é algo em que awk
é muito bom, tente usar perl
:
head -n 2 file.csv |
tail -n 1 |
perl -lne '@a = /((?:".*?"|.)*?)(?:,|$)/g; print $a[0]'
Estou tentando analisar a segunda linha em um arquivo (que contém vírgulas entre aspas duplas)
"100 Watt A19 10,000 Hour - Clear Light Bulb",American-Light-Bulb-Mfg,552,Indoor Living>Home Furnishings>Lighting>Light Bulbs,"Product Code: H20821 Energy Used: 100 Watts Rated Life: 10,000 Hours Volts: 130 Base: E26 - Medium Screw (standard household base) Length: 4.45 Inches Diameter: 2.375 Inches Bulb Type: A19",1.75,Yes,http://www.buylighting.com/ProductDetails.asp?ProductCode=H20821&click=104182,http://www.buylighting.com/v/vspfiles/photos/H20821-2T.jpg,,New,,,0.1,H20821,,,,,,,,,,,,,,,,.25,Absolute,,,,,,,
head -2 file.csv | tail -1 | awk -F',' '{print $1}'
Mas o resultado é:
"100 Watt A19 10
Como posso usar awk
para obter "100 Watt A19 10,000 Hour - Clear Light Bulb"
como o valor de $1
? Além disso, como posso usar awk
para obter "Product Code: H20821 Energy Used: 100 Watts Rated Life: 10,000 Hours Volts: 130 Base: E26 - Medium Screw (standard household base) Length: 4.45 Inches Diameter: 2.375 Inches Bulb Type: A19"
como o valor de $ 5?