タイトルフィールドに句読点がある場合、データファイルをcsvに変換するのに苦労しています。
ファイルを取得して処理するbashスクリプトがあり、ほとんど機能します。フリーテキストのタイトルフィールドにコンマが含まれていると、余分なフィールドが作成されます。
パターン間で置き換えるためにいくつかのsedの例を試しましたが、どれも機能しませんでした。私がやりたいのは、2つのパターンの間で作業し、コンマを何もないか、おそらくセミコロンに置き換えることです。
この文字列を取る:
name:A100040,title:Oatmeal is better with raisins, dates, and sugar,current_balance:50000,
これに置き換える:
name:A100040,title:Oatmeal is better with raisins dates and sugar,current_balance:50000,
次のような状況を回避するために、変更を加えるブロックの開始と終了を示すために、おそらく「title:」と「、current_」を使用する必要があります。
name:A100040,title:Re-title current periodicals, recent books,current_balance:50000,
これまでのところ、一致する置換を取得していません。この場合、私は使用しています!! 変更を明確にするために:
teststring="name:A100040,title:Oatmeal is better with raisins, dates, and sugar,current_balance:50000,"
echo $teststring |sed '/title:/,/current_/s/,/!!/g'
name:A100040!!title:Oatmeal is better with raisins!! dates!! and sugar!!current_balance:50000!!
助けていただければ幸いです。