私は巨大なcsvファイルを持っています。約500Mbです。フィールドセパレータはパイプのchar(|)です。いくつかの行に改行と改行が含まれています。私はそれらを削除する必要がありますが、私は各行の最後に正当な改行を削除したくありません。私は他の質問に示されているようにsedとtrで試しましたが、私はすべての改行を削除してしまいます。これは私が望むものではありません。bashでは、行末にあるときを除いて、csvファイル内の改行を置き換えます。
サンプル入力(||はいラインは前の行に結合されなければならない):
21/06/2016 18:06:32|||||||||||||||||||32 Red|Jrup Vej 6|61069849
||Yes||vals
21/06/2016 18:06:32|||||||||||||||||||101 K|Ser Bevard 110|||No|
マイ試み:任意の助けを
sed -i 's/\r\n//g' myfile.csv
tr -d '\r' < myfile.csv
おかげで、ジョー
サンプル入力、期待される出力、およびあなた自身の努力を忘れてしまいました。 – anubhava
そしてどのような行末が「正当な」ものであったかどうか行末は行末である。合法的または違法な行末を囲む特定の文脈がない限り、どの行末が合法であるかどうかは言えません。 –
かなりトリッキーです。改行が先行していてテキストとパイプが続いているとすれば、それは取り除く必要がある改行です。 – user1030520