このCSVからグループ化コンマを削除して変数の数を2に変更したいと思います。

このCSVからグループ化コンマを削除して変数の数を2に変更したいと思います。

最初の数行には、次のCSVがあります。

c("4288", "57534"),MIB1
c("2272", "2385"),FHIT
c("5550", "10531", "56239"),PREP
c("25809", "23669"),TTLL1

括弧内にグループ化されたすべての項目が1つの変数になるように変数数を操作したいと思います。残念ながら、私の文書には、括弧内に複数のカンマ区切り値を持つ3行などの複数の項目があります。

括弧内のカンマでのみ機能するsed式はありますか?

予想される出力は次のとおりです。

c("4288" "57534"), MIB1
c("2272" "2385"),FHIT
c("5550" "10531" "56239"),PREP
c("25809" "23669"),TTLL1

乾杯。

ベストアンサー1

高度な正規表現perlには使用しないでください。sed

perl -pe 's/(?:\G[^,)]*|\([^,)]*)\K,(?=.*?\))//g' input.csv
c("4288" "57534"),MIB1
c("2272" "2385"),FHIT
c("5550" "10531" "56239"),PREP
c("25809" "23669"),TTLL1

これにより、括弧内に表示されるすべてのコンマが削除されます。

おすすめ記事