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
时间: 2024-10-10 04:49:13

linux 删除换行符的相关文章

Linux删除换行符-

场景:使用nmap结合for循环对文本内的ip进行检测时,发现每行ip后面有个\r的换行符影响shell脚本执行 解决方案:使用vim编辑器做替换: 使用 vim -v file    //打开文件  执行下面的替换命令 :%s/\r// 处理后再次打开如下: 原文地址:http://blog.51cto.com/1inux/2106514

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

删除换行符(多行内容在一行显示): 1.sed -e ':a;N;s/\n//;ta' filename 2.在Vi中,使用:%s/\n//g 3.cat filename |xargs echo 和cat filename|xargs 的行为是一样的,xargs默认是打印输出前一条命令的结果,将多行的内容在一行显示,最简单的方法 删除^M符号(CTRL+V,然后CTRL+M) 1.sed -e 's/^M//g' filename 2.在Vi中,使用:%s/^M//g "g"全文替换

git在window与linux的换行符问题

1:背景.我win7,后端是win10,使用了TortoiseGit工具.我使用ssh,他使用http.仓库是在linux,使用gitLab管理 2:问题.仓库是总监之前建好的.后端把文件add后push,我clone本地后没有放进编辑器中也没有做任何的修改,马上commit,提示所有文件已修改,打开对比了,只是结尾的换行有修改 3:差异.因为之前没有遇到过这样的问题,不知从何下手,刚开始以为是编码问题,百度谷歌后不知所以然,就从编码到git版本用排除法一一对比,最后发现我们2个人的连接方式不一

windows和linux中换行符的转换

数据开发平台使用上传脚本报错:保存失败,文件编码格式不正确,请修改文件换行符为Unix终束符! 修改方式:DOS系统下,使用文本编译器另存为,然后选择换行符为unix终束符. 解释: windows 文件的换行符为:[CR][LF] Linux和Unix文件的换行符为:[LF] 有些需要转换使用,如修改或替换安卓andriod的hosts文件,需要保证换行符为Unix形式才能使用. 其中一种办法是在linux系统中重新保存一份文件: 但是:如何在windows系统中,转换成Unix / Linu

sed 删除换行符

sed ':label;N;s/\n/:/;b label' filename sed ':label;N;s/\n/:/;t label' filename 上面的两条命令可以实现将文件中的所有换行符替换为指定的字串,如命令中的冒号.命令的解释: :label;  这是一个标签,用来实现跳转处理,名字可以随便取(label),后面的b label就是跳转指令 N;  N是sed的一个处理命令,追加文本流中的下一行到模式空间进行合并处理,因此是换行符可见 s/\n/:/;   s是sed的替换命

word批量删除换行符

回车符有两种,“硬回车”和“软回车”.硬回车是直接敲键盘上的回车,软回车是按键盘上的“ Shift+回车 ”.   首先,使用快捷键“ Ctrl + H ”替换功能: 如果要替换软回车(垂直向下的箭头),在“查找内容”里面输入^l,如果是替换硬回车(向下再左转的箭头),在“查找内容”里面输入^p,“替换为”里面不输入任何字符,然后点击“全部替换”,就可以删除整个文档里面的软回车或硬回车了. 原文地址:https://www.cnblogs.com/xxyBlogs/p/12550858.html

Linux文件和windows文件在 换行符的区别

Linux或Unix文件,和windows文件,在来回处理时,如果不注意 换行符的区别,可能导致程序错误!!!深刻的教训.... 在早期的打印机时代,开始新的一行要占用两个字符的时间.如果到了一行的结尾处,你要快速回到新的一行的开头,需要打印针头在纸面上飞快地掠过,常常会在纸面上留下污点.解决这个问题的办法就是,用两个字符:一个字符<Return>来移到第一列,另一个字符<Line feed>来新增一行.计算机产生以后,存储较为昂贵,在如何解决回车换行这个老问题上,人们产生了不同的

Linux中的换行符

说明:本文仅供学习交流,转载请标明出处,欢迎转载! 将windows下编写的一个txt文件在Linux下打开的时候发现每行行末都会多出^M,而将Linux编写的一个txt文件在windows下打开时发现所有的内容都在一行显示,原本在Linux下是分了行的,为什么会出现这种现象呢?其实这与windows和Linux对换行符的标志不一样而已. 在介绍两者系统的换行符之前,先介绍下回车与换行的概念. 回车:CR,在文本中显示为^M,在字符串中对应为'\r',r表示return: 换行:LF,在文本中显

Linux换行符相关

Linux和windows中的换行符差异问题LINUX的换行符在Windows记事本打开不换行或出现黑点是由于Linux和windows中的换行符差异问题造成的. Unix系统里,每行结尾只有“<换行>”,即“\n”:Windows系统里面,每行结尾是“ <回车><换行>”,即“\r\n”:Mac系统里,每行结尾是“<回车>”.一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行:而Windows里的文件在Unix/Ma