0
カンマを区切り記号として使用してフィールドを区切ることができるフィールドがいくつかありますが、実際には "カリフォルニア、CA"などのカンマが含まれます。引用符で囲まれたフィールド内の文字をフィールドの一部として扱う必要がありますが、これを同じ値にするために解析する方法はわかりません。文字列間のコンマ(、)を無視する方法bashスクリプトによって読み込まれるCSVファイル内のコンマを無視する方法
カンマを区切り記号として使用してフィールドを区切ることができるフィールドがいくつかありますが、実際には "カリフォルニア、CA"などのカンマが含まれます。引用符で囲まれたフィールド内の文字をフィールドの一部として扱う必要がありますが、これを同じ値にするために解析する方法はわかりません。文字列間のコンマ(、)を無視する方法bashスクリプトによって読み込まれるCSVファイル内のコンマを無視する方法
FPAT
awk
がサポートされている場合は、区切り記号ではなくフィールドの正規表現を定義する組み込み変数awk
があります。 ITは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にフィールド区切り文字を認識させなければならないか、フィールド自体にフィールドを認識させる必要があるからです。フィールドセパレータ(カンマ)は、フィールド自体にカンマが含まれているため、ここではよく動作します。 –