0

を使用して MySQL データベースから生成された csv ファイルを解析しようとしていますIFS=,が、一部のフィールドには,、区切り文字として扱われるべきではない が含まれています。

たとえば、最初の行は次のとおりです。 "012345678","abcdefgh","Smith, John","1234 Main St. Somewhere, state"

私が見返りに得ているのは: "012345678","abcdefgh","Smith","John","1234 Main St. Somewhere","state"

各フィールドを変数に割り当てようとしていますが、実際のフィールド区切り文字ではないコンマでスクリプトがハングアップしています。

4

1 に答える 1

0

ここで gnu awk を使用して、次のように文字列を分割できます。

s='"012345678","abcdefgh","Smith, John","1234 Main St. Somewhere, state"'
echo "$s" | gawk 'BEGIN{ FPAT="\"[^\"]*\"" } {for (i=1; i<=NF; i++) print $i}'
"012345678"
"abcdefgh"
"Smith, John"
"1234 Main St. Somewhere, state"
于 2015-04-02T13:55:39.793 に答える