awkコマンドが初めてで、パイプを含むデータがあり、これらのパイプをカンマで置き換えます。以下のデータサンプルは、awkコマンドで私を助けてください私の出力は私が私awkコマンドを使用して二重引用符で囲まれたcsvファイルのパイプをカンマに置き換えます。
awk -F"\"" 'BEGIN{OFS="\""}{for(i=1;i<=NF;++i){ if(i%2==0) gsub(/|/, ",", $i)}} {print $0}' file
のために動作しませんでした以下のコマンドを試してみました
"PT3QB789TSUIDF371261","THE TORONTO,DOMINION BANK","2016-05-24T00:36:42Z","ANZ BANK NEW, ZEALAND LIMITED","HZSN7FQBPO5IEWYIGC72","MAS,CA.ON.OSC,ASIC*,AAAA"
"PT3QB789TSUIDF371261","ABC,XYZ,123","2016-05-24T00:36:42Z","ANZ BANK NEW ZEALAND LIMITED","HZSN7FQBPO5IEWYIGC72","MAS,CA.ON.OSC,ASIC*"
としてのようになります
"PT3QB789TSUIDF371261","THE TORONTO|DOMINION BANK","2016-05-24T00:36:42Z","ANZ BANK NEW| ZEALAND LIMITED","HZSN7FQBPO5IEWYIGC72","MAS|CA.ON.OSC|ASIC*|AAAA"
"PT3QB789TSUIDF371261","ABC|XYZ|123","2016-05-24T00:36:42Z","ANZ BANK NEW ZEALAND LIMITED","HZSN7FQBPO5IEWYIGC72","MAS|CA.ON.OSC|ASIC*"
です。ありがとう
シンプル 'sedの年代/ | /、/ G 'file'与えられたサンプルのために尽くします...他の理由は、なぜあなたが使用している' awk'を? – Sundeep
あなたのコマンドに関する1つの問題は '/ | /' ... '' 'はメタ文字なので、'/\ |/'にする必要があります – Sundeep
なぜですか?コマンドラインツールを使用すると、フィールド内のカンマとフィールド間のカンマを区別するための追加ロジックが必要になるため、後で他の作業を行うことが難しくなります。 –