かなり大きなcsvファイルがあり、各行はパイプ(|)で終了する必要があります。パイプが再び見つかるまで、次の行が結合されない場合。これは、シェルスクリプトを使用して行う必要があります。
私は答えを得ました
awk '!/|$/{l=l""$0|next|}{print l""$0|l=""}' file
しかし、各行のサイズが非常に大きいため、エラーが発生します。私はそれを行うためにperlを使用する必要があることを知り、以下のように何かを試しましたが、それは望ましい結果を生み出します。
perl -pe 's/^\n(|\n)/ /gs' input.csv > output.csv
私のデータは次のようになります
A|1|abc|<xml/>|
|2|def|<xml
>hello world</xml>|
|3|ghi|<xml/>|
そして、望ましい出力は
A|1|abc|<xml/>|
|2|def|<xml>hello world</xml>|
|3|ghi|<xml/>|
明らかに、行サイズはここに入力されたサンプルよりもかなり大きいです。
どんな助けでも大歓迎です。