Unix 替换controlM字符或回车字符,并将下一行追加到上一行

Unix 替换controlM字符或回车字符,并将下一行追加到上一行,unix,awk,sed,Unix,Awk,Sed,我有一个像这样的文件 "A","b","HI This is Bad","End of line1" -- This line1 is good "A","C","THIS is^M ------THis line2 is bad. Good","End of line2" “A”,“b”,“嗨,这是坏的”,“第1行的结尾”--第1行是好的 “A”、“C”、“这是^M------这第2行不好。 “好”,“第2行结束” 我需要的文件是这样的 "A","b","HI This is Bad

我有一个像这样的文件

"A","b","HI This is Bad","End of line1" -- This line1 is good "A","C","THIS is^M ------THis line2 is bad. Good","End of line2" “A”,“b”,“嗨,这是坏的”,“第1行的结尾”--第1行是好的 “A”、“C”、“这是^M------这第2行不好。 “好”,“第2行结束” 我需要的文件是这样的

"A","b","HI This is Bad","End of line1" "A","C","THIS is Good","End of line2" “A”,“b”,“你好,这很糟糕”,“第1行结束” “A”,“C”,“这很好”,“第2行结束” 毕竟,我的文件有更多的垃圾数据。现在的数据看起来像-

"A","b","HI This is Bad","End of line1" -- This line1 is good "A","C","THIS is^M ------THis line2 is bad. Goo^M d","End of line2" “A”,“b”,“嗨,这是坏的”,“第1行的结尾”--第1行是好的 “A”、“C”、“这是^M------这第2行不好。 咕咕 “第2行末尾”
所以像上面这样想可能有多个^M,而不仅仅是1或2。Cyrus给出的解决方案仅适用于1^M。如果我有n^M,如何解决此问题?

sed'/\r$/{:a;n;$!ba;s/\r\n//g}'filename.csv>filename\u final.csv

似乎已经奏效了

基本上创建了一个标签并将其循环