Unix 使用sed替换文件配额中的新行字符

Unix 使用sed替换文件配额中的新行字符,unix,sed,Unix,Sed,我已将文件从open office导出到csv。但是单元格中的长文本有新行字符。带有文本单元格的行在csv中如下所示 ;;;;ddsfaads;;dsfaadsfdas;" dfsafdas fdadfsdaf fddsfaadfs fdsfadsadsfadf " 怎么做?像这样的一些 cat file test ;;;;ddsfaads;;dsfaadsfdas;" dfsafdas fdadfsdaf fddsfaadfs fdsfadsadsfadf " more data 我在网

我已将文件从open office导出到csv。但是单元格中的长文本有新行字符。带有文本单元格的行在csv中如下所示

;;;;ddsfaads;;dsfaadsfdas;"
dfsafdas
fdadfsdaf
fddsfaadfs
fdsfadsadsfadf
"
怎么做?

像这样的一些

cat file
test
;;;;ddsfaads;;dsfaadsfdas;"
dfsafdas
fdadfsdaf
fddsfaadfs
fdsfadsadsfadf
"
more data

我在网上找到了答案

sed -n 'H;g;/^[^"]*"[^"]*\("[^"]*"[^"]*\)*$/d; s/^\n//; y/\n/ /; p; s/.*//; h' 'filefrom' > 'fileto'

它对我有用你也可以用这种方式

sed '/"/{:a;N;/\n.*"/{s/\n/ /g;p;d;t};s/\n/ /g; t a};' FileName

;;;;ddsfaads;;dsfaadsfdas;“dfsafdas fdadfsdaf fddsfaadfs fdsfadsfafaff”@AvinashRaj更新了我的答案。
sed '/"/{:a;N;/\n.*"/{s/\n/ /g;p;d;t};s/\n/ /g; t a};' FileName