sed を使用して LF を削除し、CRLF をファイルに保存します。

sed を使用して LF を削除し、CRLF をファイルに保存します。

データベースにロードしようとしているCSVファイルに引用されていない改行LFがあり、エラーが発生します。 sedまたはLinuxで利用可能な他のツールを使用してこの改行を削除できますか?

Notepad ++ pilcrowを使用して観察したように、CSVファイルの実際の行末はCRLFです。

ベストアンサー1

単一文字以外の値(GNUなど)をawkサポートする実装では、次のことができます。RSawk

awk 'BEGIN{RS = ORS = "\r\n"}
     {gsub("\n", ""); print}' < in.csv > out.csv

そしてsed

CR=$(printf '\r')
sed -e :1 -e '$q' -e "/$CR\$/b" -e 'N;s/\n//;b1' < in.csv > out.csv

おすすめ記事