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的替换命令,将换行符替换为冒号
  • b label  或者 t label    b / t 是sed的跳转命令,跳转到指定的标签处

标签跳转和N的追加命令实现了每一行的不间断放入模式处理空间,从而不会漏掉每一个换行符,而没有标签的话跳转的话,就只能每两行替换掉一个换行符,对比效果:

echo "a,b,c,d" |sed 's/,/\n/g'|sed ':x;N;s/\n/,/;b x'

echo "a,b,c,d" |sed 's/,/\n/g'|sed 'N;s/\n/,/'

sed  -n '/Region/p'  source.json | sed 's/^\s*"\w*"://' | sed 's/"},//'|sed 's/"}]//'|sed 's/"//'|sed 'N;s/,\n/\t/'

sed 删除换行符的更多相关文章

  1. 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删除换行 ...

  2. Excel批量删除换行符_clean函数

    http://jingyan.baidu.com/article/e2284b2b489b96e2e6118d30.html CLEAN函数,用于删除文本中不能打印的字符.对从其他应用程序中输入的文本 ...

  3. windows下sed回车换行符处理

    windows下sed回车换行符处理如果用sed for windows对整个文件进行了编辑,编辑之后一般需要处理回车换行符:rem windows的回车换行符是\r\n,linux的是\n,所以要替 ...

  4. sed替换换行符“\n”

    linux sed命令,如何替换换行符“\n” 在一次sed使用中,执行命令: sed "s/\n//g" file 1 发现,没起到任何效果. 后来,经查sed官方用户手册,才得 ...

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

    Linux或Unix文件,和windows文件,在来回处理时,如果不注意 换行符的区别,可能导致程序错误!!!深刻的教训.... 在早期的打印机时代,开始新的一行要占用两个字符的时间.如果到了一行的结 ...

  6. oracle 回车、换行符

    1.回车换行符 chr(10)是换行符,chr(13)是回车, 增加换行符 select ' update ' || table_name ||       ' set VALID_STATE ='' ...

  7. 使用Word批量删除换行和空白行

    转载自:https://blog.csdn.net/dearmorning/article/details/78811137 问题一:从pdf文档中复制一部分内容到word的时候,pdf的自动换行会自 ...

  8. vim 处理换行符

    1. 设置文件格式 :set fileformats=unix,dos 2. 查询当前文件格式 :set fileformat? 3. 转换文件格式 :set fileformat=dos 4. 设置 ...

  9. c++ 去掉所有空格及换行符

    string get_string(string res){ //删除换行符 int r = res.find('\r\n'); while (r != string::npos) { if (r ! ...

随机推荐

  1. Bootstrap 导航 标题栏

    Bootstrap 导航 标题栏: <!DOCTYPE html> <html lang="en"> <head> <meta chars ...

  2. Bootstrap入门(十四)组件8:媒体对象

    Bootstrap入门(十四)组件8:媒体对象 这是一个抽象的样式,用以构建不同类型的组件,这些组件都具有在文本内容的左或右侧对齐的图片(就像博客评论或 Twitter 消息等). 1.基本样式 2. ...

  3. TCP协议滑动窗口(一)——控制数据传输速率

    窗口大小:TCP头中一个16位的域,表示当前可用接受缓冲区大小.在每个TCP对等段连接初始化时,告诉对方自己的窗口大小(不一定是满额,假如满额65201字节,可能暂时通告5840字节).若客户端接受数 ...

  4. ubuntu 下安装 cudnn

    安装cudnn前后,GPU跑一个算法的速度分别是139ms和26ms ! 1. 在以下网址选择  cuDNN v5.1 Library for Linux 下载 https://developer.n ...

  5. cygwin 运行窗口程序

    首先, 默认安装的cygwin是不能运行窗口程序的 比如,一段python窗口程序: import * from tkinter Tk() mainloop() 如果使用命令行: python3 py ...

  6. 新手初学Redis之基础知识命令

    笔者最初接触Redis是因为了解了一些nosql方面的知识,觉得nosql是一个很有意思的方面.像其中的mongodb,redis等等.当初也没有深入的去了解Redis,直到自己前段时间在写一个web ...

  7. Apache Arrow 内存数据

    1.概述 Apache Arrow 是 Apache 基金会全新孵化的一个顶级项目.它设计的目的在于作为一个跨平台的数据层,来加快大数据分析项目的运行速度. 2.内容 现在大数据处理模型很多,用户在应 ...

  8. CI Weekly #13 | 用更 Geek 的方式配置你的 CI 工作流

    flow.ci 的重大更新来了--支持通过 .yml 文件配置工作流(测试阶段),具体的使用方法可参考文档:同时 flow.ci 也开放了社区>> club.flow.ci,使用的任何问题 ...

  9. 使用python制作ArcGIS插件(2)代码编写

    使用python制作ArcGIS插件(2)代码编写 by 李远祥 上一章节已经介绍了如何去搭建AddIn的界面,接下来要实现具体的功能,则到了具体的编程环节.由于使用的是python语言进行编程,则开 ...

  10. SVN-TortoiseSVN安装和常用操作步骤

    安装VisualSVN-Server-2.0.5 服务端: 运行VisualSVN-Server-2.0.5.msi程序,点击Next,下面的截图顺序即为安装步骤: 2 图2: 注意:Server P ...