次の形式の2つの列を持つTSVファイルがあります。
id1\tcol1,col2,col3
id2\tcol4,col5
2列目を1列目と組み合わせて出力したいです。
id1,col1
id1,col2
id1,col3
id2,col4
id2,col5
2つの質問があります。
- TSVの2番目の列にカンマで区切られた値の固定されていない数
- ファイルが大きすぎてメモリにロードできません。
カンマで区切られた値はきれいでなく、囲みを使用しません,
。"
だから私たちはカンマごとに分けました。
ベストアンサー1
awkを使用してください。
$ awk -F'[\t,]' -v OFS=',' '{for (i=2; i<=NF; i++) print $1, $i}' file
id1,col1
id1,col2
id1,col3
id2,col4
id2,col5
上記は、最初の列に,
を含めることはできず、2番目の列にはタブを含めることができないとします。どちらもデータ型に関する質問の例と説明で正しいように見えるため、データに適している必要があります。