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

时间:2014-12-02 08:36:20

标签: unix sed

我已经从开放办公室导出文件到csv。但是单元格中的长文本有新的行字符。带有文本的单元格的行在csv

中看起来像这样
;;;;ddsfaads;;dsfaadsfdas;"
dfsafdas
fdadfsdaf
fddsfaadfs
fdsfadsadsfadf
"

怎么做?

3 个答案:

答案 0 :(得分:0)

有人这样吗?

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

awk '/"/ {f=f?0:1} {printf "%s%s",$0,(f?FS:RS)}' file
test
;;;;ddsfaads;;dsfaadsfdas;" dfsafdas fdadfsdaf fddsfaadfs fdsfadsadsfadf "
more data

答案 1 :(得分:0)

我在互联网上找到了答案。

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

它对我有用

答案 2 :(得分:0)

你也可以这样使用,

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