linux 删除换行符

Posted mb6124a48b25a4a

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 删除换行符相关的知识,希望对你有一定的参考价值。

今天需要删除文件里面的换行符,比如有一个文件a.txt:

1,2,3
4,5,6
1,2,3
4,5,6
1,2,3
4,5,6
1,2,3
4,5,6
1,2,3
4,5,6

1、使用vim删除换行符

vim输入命令:%s/\\n//g

2、使用sed命令,例如 sed \':t;N;s/\\n//;b t\' a.txt

结果:1,2,34,5,61,2,34,5,61,2,34,5,61,2,34,5,61,2,34,5,6

解释一下:

:t 定义label "t"
b t 转到label "t" 继续执行
N 先读入一行到sed的模板空间,加个换行符(\\n),再向sed模板空间追加下一行(之后sed 对模板空间中的内容执行s/\\n/,/替换,并显示替换后的内容)

3、使用td命令,例如:

cat a.txt | tr \'\\n\' \' \' 
1,2,3 4,5,6 1,2,3 4,5,6 1,2,3 4,5,6 1,2,3 4,5,6 1,2,3 4,5,6

 注意tr最后那个参数是空格,否则会报错

以上是关于linux 删除换行符的主要内容,如果未能解决你的问题,请参考以下文章

linux 删除换行符

linux shell 删除换行符(多行内容在一行显示)&删除空行

为啥我的 Linux 文本文件(使用 echo 创建)以换行符结尾?我怎样才能删除它? [复制]

批处理实现把txt中windows换行符改成linux换行符

如何阻止GCC从obj文件中的字符串文字中删除尾随换行符?

linux 如何删除文件中的空格和换行符号并保存到新文件中