長さの異なる配列列の削除

長さの異なる配列列の削除

固定サイズのない配列を削除したいと思います。例えば

file.csv

001,"Geography",TRUE,"{1,0,1,1}",1,"CHARLIE"
002,"History",FALSE,"{0,0,1,1}",0,"DAVID"
003,"Mathematics",TRUE,"{1,1,1,1}",1,"SAM"

次の配列は、次の形式に変換する必要があります。

file_edited.csv

001,"Geography",TRUE,1,"CHARLIE"
002,"History",FALSE,0,"DAVID"
003,"Mathematics",TRUE,1,"SAM"

コマンドラインでこれを行う方法。

ベストアンサー1

私はこれを達成するためのさまざまな方法があると確信しています。私は以下を好みますsed

sed 's/"{.*}",//'

存在するGNU/Linux(GNU sed)、以下を使用してください:

sed 's/"{.*}",//' csv
001,"Geography",TRUE,1,"CHARLIE"
002,"History",FALSE,0,"DAVID"
003,"Mathematics",TRUE,1,"SAM"

オペレーティングシステム(BSD sed-Eフラグを参照):

sed -E 's/"{.*}",//' csv 
001,"Geography",TRUE,1,"CHARLIE"
002,"History",FALSE,0,"DAVID"
003,"Mathematics",TRUE,1,"SAM"

おすすめ記事