首页IT科技linux删除所有行(linux 删除换行符的方法小结)

linux删除所有行(linux 删除换行符的方法小结)

时间2025-06-17 02:51:41分类IT科技浏览4123
导读:今天需要删除文件里面的换行符,比如有一个文件a.txt:...

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

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 shell 中删除文件的所有换行符

需要做一个小功能                    ,就是把一个文本文件中的所有换行符都去掉            。一般肯定是想到使用sed来修改啦                     。但是我搜了一下            ,并没有找到sed要怎么输入\n——我知道^M对应的是\r    ,但是\n却失败了                     ,在命令行中直接被切割掉      。

  原则上可以用\015这样的方式来指定的               ,但是我实际操作发现并不行,没有效果         。所以最终我只能用直接输入命令来做了(还没验证过写成脚本是否能用)                     。

假设要替换的文件叫做in.txt                  ,输出文件为out.txt:

sed s/^M//g file.txt > tmp.txt sed -i s/\"/\\\"/g tmp.txt rm -f out.txt; touch out.txt cat tmp.txt | xargs echo -n >> out.txt rm -f tmp.txt

五个步骤分别为:

将Windows格式的换行转换成UNIX格式                  ,也就是删除所有的\r字符          。其中^M并不是直接输入这两个字符   ,而是通过在shell里面按住 Ctrl+V               ,然后再敲 M 得到的

将所有的双引号转义                  ,因为后面的echo需要使用

创建一个全空的输出文件

删除所有的\n字符并输出最终文件

删除中间文件
声明:本站所有文章      ,如无特殊说明或标注            ,均为本站原创发布      。任何个人或组织                   ,在未征得本站同意时         ,禁止复制         、盗用                     、采集          、发布本站内容到任何网站      、书籍等各类媒体平台                    。如若本站内容侵犯了原著者的合法权益        ,可联系我们进行处理              。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
ubuntu 14.04 删除文件夹([转]PAC Manager: Ubuntu 上强大的 SSH 帐号管理工具,可取代 SecureCRT_Miracle_百度空间) 瘦身日记软件(日志瘦身骚操作:从 5G 优化到 1G,牛逼!!)