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 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字符并输出最终文件
删除中间文件

(0)

相关推荐

  • Python | 怎么删除换行符

    删除换行符--'\r\n'或者'\n'(Windows). 背景 01 今早的活是把左边的文件转化成右边的文件 02 笔者偷懒(少写几行代码),把左边内容转化后打印到console,然后复制到右边~( ...

  • wps/word批量删除回车符的方法

    WPS文字或者Word中的回车符分为两种:一种为自带的 回车符,一种为网络文件产生的回车符,称之为换行符。  回车符清除方法如下: 编辑--> 替换--> 替换-->高级--> ...

  • 如何在word2013中删除换行符

    word2013中删除换行符的步骤如下: 步骤一:打开word 2013 (此为废话)贴入文本,如图,每行后都有个回车符 步骤二:因为不是连续的回车符所以不能用 ^p^p 换成 ^p 方式来替换.所以 ...

  • word怎样批量删除换行符

    word怎样批量删除换行符呢?很多人都不会,下面小编来教大家. 操作方法 01 首先,我们打开一个有内容的word文档,如图所示: 02 之后,我们点击工具栏中的文字工具: 03 弹出的界面,我们点击 ...

  • Linux删除替换变量值方法

    在Linux系统中,对变量进行赋值后需要发现有些问题,需要对变量值进行删除或替换,本文将针对Linux变量值的替换和删除做个详细介绍,希望对你有所帮助.一起去看看吧! 1.变量内容的删除 [root@ ...

  • 在Linux下禁用IPv6的方法小结

    Pv6被认为是IPv4——互联网上的传统32位地址空间——的替代产品,它用来解决现有IPv4地址空间即将耗尽的问题。然而,由于已经有大量主机、设备用IPv4连接到了互联网上,所以想在一夜之间将它们全部 ...

  • 查看Linux系统版本信息的方法小结

    如何查看Linux系统使用的版本信息呢? 下面这篇文章收集.整理了一些常见的查看Linux系统版本的方法.由于手头只有Oracle Linux.Centos Linux.Redhat Linux三个版 ...

  • 如何快速批量删除Excel单元格中的"换行符"

    方法一:取消自动换行 在Excel单元格中按快捷键Alt+Enter进行换行时,该单元格就被设置成了"自动换行",如果要将这些单元格中的"自动换行"效果取消,也 ...

  • Linux和windows中的换行符差异问题

    Linux和windows中的换行符差异问题 LINUX的换行符在Windows记事本打开不换行或出现黑点是由于Linux和windows中的换行符差异问题造成的。 首先来看回车符号和换行符号产生背景 ...