0
我有一些字段可以使用逗號分隔字段作爲分隔符,但某些值實際上包含逗號,例如「」California,CA「」這些值是用雙引號字符串FPAT
之間如何忽略由bash腳本讀取的CSV文件中的逗號
我有一些字段可以使用逗號分隔字段作爲分隔符,但某些值實際上包含逗號,例如「」California,CA「」這些值是用雙引號字符串FPAT
之間如何忽略由bash腳本讀取的CSV文件中的逗號
使用包圍,用於指示應被視爲該領域的部分文字,但我不知道如何分析它考慮到同一values.How這忽略逗號(,)如果你的awk
支持,它的一個awk
的內置變量來定義字段的正則表達式,而不是定界符。它類似於FS
的補充,這也是awk
的內建變量。
例子:
echo 'hey there,ola,"Nice, command",ola' |awk -v FPAT='[^,]+|"[^"]+"' '{print $1}'
hey there
echo 'hey there,ola,"Nice, command",ola' |awk -v FPAT='[^,]+|"[^"]+"' '{print $2}'
ola
echo 'hey there,ola,"Nice, command",ola' |awk -v FPAT='[^,]+|"[^"]+"' '{print $3}'
"Nice, command"
echo 'hey there,ola,"Nice, command",ola' |awk -v FPAT='[^,]+|"[^"]+"' '{print $4}'
ola
爲什麼我們需要特定列 – Manee
@Manee,我們倒是希望爲您發佈樣本數據和預期的輸出。否則,這是一種我們通常無法贏得的猜謎遊戲。 –
@manee,因爲您必須讓awk知道字段分隔符或字段本身。這裏字段分隔符(逗號)將會很好地發揮作用,因爲您的字段本身包含逗號。 –