区切り文字なしでデータを含むテキストファイルからcsvファイルを作成する必要があります。
良い:
2015021DUMMY001EAN1377689456777678945GERDE0002345
2015031DUMMY002EAN1345647876867867867TURTR0154565
......
bashまたはsedを使用して各行のすべてのx、y、およびz文字にセミコロンを挿入する簡単な方法はありますか?
ベストアンサー1
12文字、32文字、16文字のグループを使用できます(12+32=44、44+16=60)。
sed 's/\(.\{12\}\)\(.\{32\}\)\(.\{16\}\)/\1;\2;\3/'
あなたのサンプル入力には60文字が含まれていません(正しく計算すると49文字)。それ以外の場合は、12と32のみが使用されます。
$ sed 's/\(.\{12\}\)\(.\{32\}\)/\1;\2;/' input
2015021DUMMY;001EAN1377689456777678945GERDE00;02345
2015031DUMMY;002EAN1345647876867867867TURTR01;54565
...あなたが望むものかもしれないし、そうでないかもしれません。
通常、グループの長さはx、yx、およびzyx文字です。
または、3つの別々の代替品を使用できます。
sed 's/.\{12\}/&;/; s/.\{45\}/&;/; s/.\{62\}/&;/'
この場合、長さはx、y + 1(xに挿入されたセミコロン)、およびz + 2になります。