shell中如何把回车换行置换成半角空格?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell中如何把回车换行置换成半角空格?相关的知识,希望对你有一定的参考价值。

我现在有这样的数据
AAAA BBBB
CCCC
D
DDD EEE FFF
GGG HHH KKK L
LL
想要的结果是
1.AAAA BBBB CCCC
2.D DDD EEE FFF
3.GGG HHH KKK L LL
用了一下这句话,不好用啊
sed 's/\n/ /' filename
求大神帮解决。
1.AB
CD
2.E
F
G
我想要的结果是:
1.AB CD
2.E F G
把这两条数据中的回车换行换成半角空格,除了最后一位的回车换行不进行替换。在这条数据中的回车换行都需要替换一下。

sed:

sed -n 'N;s/\\n/ /;p' filename

 

awk:

awk 'a=$0;getline;print a,$0' filename

 

当然,首先要保证文件是unix格式的。如果是从windows端拿过来的,可以用dos2unix转为unix格式:

dos2unix filename

追问

没明白啊,什么意思啊

追答

对哪里不明白?请指明。

追问

我现在就是数据里有很多回车换行,并且还有空格,有空格的不管,就是想把除了最后一位的回车换行以外的回车换行,全部置换成半角空格。

我用第一种方法怎么全部都置换了,第二种是什么意思啊

追答

这两种方法结果是一样的,我是用你上面给出的例子测试的。
“想把除了最后一位的回车换行以外的回车换行,全部置换成半角空格”,但你上面的例子不是这样的啊。

追问

上面的例子可能没说全,“想把除了最后一位的回车换行以外的回车换行,全部置换成半角空格” 我想做的就是这个意思。。我现在用你给的代码,但是一点反应也没有。。

方便留一个邮箱或者QQ 不?

追答

请举个贴切的例子说明啊!我搞不懂你的题意。上班不能上QQ的!
你要的效果是这样的吗?
AAAA BBBB
CCCC
D
DDD EEE FFF
GGG HHH KKK L
LL
想得到:
AAAA BBBB CCCC D DDD EEE FFF GGG HHH KKK L
LL

追问

大神,留个邮箱给我好不?

追答

私信给你了,发个源数据文件给我吧

追问

私信也没有啊,账户那一串数字就是我的QQ ,你发一下,然后我再联系你

追答

公司严禁上QQ,只能晚上再说吧

追问

我的意思是说那个是我的邮箱。你可以发邮件给我。

追答

哦,QQ邮箱吗?发送了。

参考技术A 这个 不能的吧!追问

1.AB
CD
2.E
F
G
我想要的结果是:
1.AB CD
2.E F G
把这两条数据中的回车换行换成半角空格,除了最后一位的回车换行不进行替换。在这条数据中的回车换行都需要替换一下。

以上是关于shell中如何把回车换行置换成半角空格?的主要内容,如果未能解决你的问题,请参考以下文章

Java如何去除字串中的空格、回车、换行符、制表符

PHP把空格、换行符、中文逗号等替换成英文逗号的正则表达式

Markdown使用

在sql server 中,如何去掉字符串的头尾回车换行,中间的回车换行不去掉?

shell 如何将空格替换成;

c#如何去除字符串中的空格,回车,换行符,制表符