在群里看到的。记录以备用。
 sed 帮助命令:http://man.linuxde.net/sed
文件里有如下行,我想将每行的回车符替换为逗号,并将所有行合并到一行,用awk或sed怎么写啊
TOP_COLUMN
TOP_MESSAGE
TOP_OPTIONS
TOP_TOPIC
TOP_VOTE
TOP_COLTYPE
 
  1. awk '{{printf"%s,",$0}}'
  1. sed ':a;N;$!ba;s#\r\n#,#g'
  2.  
  3. N 是下一行,! 对没有影响的行用该命令,$ 最后一行;
    :a 标签
    ba 跳转到标签
  1. tr "\r\n" ",'
 
tr 命令可能会出现双个逗号(这里换行符替换为逗号),但是已经合并为一行了,所以可以继续替换
 
  1. cat a.txt | tr "\r\n" "," | sed 's/\r\n/,/g'
## 完整替换
 
查看文件换行符:
用软件notepad++

【视图】——【显示符号】——【显示行尾符】。

我的操作系统是windows,所以行尾符是CR LF——对应的正则表达式是\r\n。

mac系统是CR——对应的正则表达式是\r。

unix系统是LF——对应的正则表达式是\n。

sed 命令扩展

  1. a\ 在当前行下面插入文本。
  2. i\ 在当前行上面插入文本。
  3. c\ 把选定的行改为新的文本。
  4. d 删除,删除选择的行。
  5. D 删除模板块的第一行。
  6. s 替换指定字符
  7. h 拷贝模板块的内容到内存中的缓冲区。
  8. H 追加模板块的内容到内存中的缓冲区。
  9. g 获得内存缓冲区的内容,并替代当前模板块中的文本。
  10. G 获得内存缓冲区的内容,并追加到当前模板块文本的后面。
  11. l 列表不能打印字符的清单。
  12. n 读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。
  13. N 追加下一个输入行到模板块后面并在二者间嵌入一个新行,改变当前行号码。
  14. p 打印模板块的行。
  15. P(大写) 打印模板块的第一行。
  16. q 退出Sed
  17. b lable 分支到脚本中带有标记的地方,如果分支不存在则分支到脚本的末尾。
  18. r file file中读行。
  19. t label if分支,从最后一行开始,条件一旦满足或者Tt命令,将导致分支到带有标号的命令处,或者到脚本的末尾。
  20. T label 错误分支,从最后一行开始,一旦发生错误或者Tt命令,将导致分支到带有标号的命令处,或者到脚本的末尾。
  21. w file 写并追加模板块到file末尾。
  22. W file 写并追加模板块的第一行到file末尾。
  23. ! 表示后面的命令对所有没有被选定的行发生作用。
  24. = 打印当前行号码。
  25. # 把注释扩展到下一个换行符以前。

  

  1. ^ 匹配行开始,如:/^sed/匹配所有以sed开头的行。
  2. $ 匹配行结束,如:/sed$/匹配所有以sed结尾的行。
  3. . 匹配一个非换行符的任意字符,如:/s.d/匹配s后接一个任意字符,最后是d
  4. * 匹配0个或多个字符,如:/*sed/匹配所有模板是一个或多个空格后紧跟sed的行。
  5. [] 匹配一个指定范围内的字符,如/[ss]ed/匹配sed和Sed。
  6. [^] 匹配一个不在指定范围内的字符,如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一个字母开头,紧跟ed的行。
  7. \(..\) 匹配子串,保存匹配的字符,如s/\(love\)able/\1rs,loveable被替换成lovers。
  8. & 保存搜索字符用来替换其他字符,如s/love/**&**/love这成**love**。
  9. \< 匹配单词的开始,如:/\<love/匹配包含以love开头的单词的行。
  10. \> 匹配单词的结束,如/love\>/匹配包含以love结尾的单词的行。
  11. x\{m\} 重复字符xm次,如:/0\{5\}/匹配包含50的行。
  12. x\{m,\} 重复字符x,至少m次,如:/0\{5,\}/匹配至少有50的行。
  13. x\{m,n\} 重复字符x,至少m次,不多于n次,如:/0\{5,10\}/匹配5~100的行。

  

awk sed tr替换换行符为逗号,并合并为一行的更多相关文章

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

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

  2. **PHP中替换换行符

    PHP中替换换行符 php 不同系统的换行不同系统之间换行的实现是不一样的linux 与unix中用 \nMAC 用 \rwindow 为了体现与linux不同 则是 \r\n所以在不同平台上 实现方 ...

  3. excel 批量替换换行符

    在excel批量替换换行符操作步骤: 全选需要查找换行符的范围 CTRL+H调出查找和替换 在查找内容内输入"ctrl+enter"两个组合键 点击查找全部即可. 在excel中输 ...

  4. 替换换行符:回车换行CR/LF

    windows采用回车+换行CR/LF表示下一行,UNIX/Linux使用换行符LF表示下一行,MAC OS系统使用用回车符CR表示下一行. CR使用符号'\r'表示, ASCII码是13: LF使用 ...

  5. PHP中替换换行符的几种方法

    PHP中替换换行的几种方法 参考脚本之家的文章:<PHP中替换换行符的几种方法小结>. 代码: 方法一: $replace_str = str_replace(array("\r ...

  6. shell常见文本处理。(awk 替换换行符等)

    1 文件里有如下行,我想将每行的回车符替换为逗号,并将所有行合并到一行,用awk或sed怎么写啊TOP_COLUMNTOP_MESSAGETOP_OPTIONSTOP_TOPICTOP_VOTETOP ...

  7. sed 中如何替换换行符

    使用如下解决方案: sed ':a;N;$!ba;s/\n/ /g' 这将在一个循环里读取整个文件,然后将换行符替换成一个空格. 说明: 通过 :a创建一个标记 通过N追加当前行和下一行到模式区域 如 ...

  8. [转]shell awk sed tr grep 语法汇总

    tr 基本语法 -c          # 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII  -d          # 删除字符串1中所有输入字符  -s          # 删除所 ...

  9. Linux下Shell脚本替换换行符(转)

    说明:过滤换行符确实有点吭,不是那么好弄.处理文本时需要将换行符替换为空格,若使用sed命令会比较麻烦,而使用tr命令非常方便. 输入文本(country.txt) China America Fra ...

随机推荐

  1. 谷歌chrome 插件(扩展)开发——进阶篇(c#本地程序和插件交互)下

    在上一篇中,我提出了总任务.接下来去实现. 获取网页内容等其它信息,这是content.js 擅长做的事情: chrome.extension.onMessage.addListener( funct ...

  2. 常见递归问题 java

    //最长公共子序列 import java.util.*;public class Main { public static void main(String[] args){ int ans = m ...

  3. Handsontable的前端分页与数据库分页

    Handsontable虽然处理速度很快,但当数据量达到10W+的时候很容易导致浏览器内存泄漏,这时候可以用分页来解决.官网提供了前端分页demo,测试后发现也只能处理低于10W的数据,而且调试的时候 ...

  4. FJUT2017寒假训练二题解

    A题 题意:让你找出唯一的一个四位数,满足对话时的要求. 思路:因为是4位数,可以直接从1000-9999遍历一遍,判断是否有唯一的数能满足所有条件,如果不是唯一的或者没有满足条件的数就输出Not s ...

  5. MyBatis笔试题

    1请写出Mybatis核心配置文件MyBatis-config.xml的内容? <?xml version="1.0" encoding="UTF-8"? ...

  6. sklearn包中有哪些数据集你都知道吗?

    注册了博客园一晃有3个月了,同时接触机器学习也断断续续的算是有1个月了.今天就用机器学习神器sklearn包的相关内容作为我的开篇文章吧. 本文将对sklearn包中的数据集做一个系统介绍,并简单说一 ...

  7. Go基础之锁的初识

    当我们的程序就一个线程的时候是不需要用到锁的,但是通常我们实际的代码不会是单个线程的,所有这个时候就需要用到锁了,那么关于锁的使用场景主要涉及到哪些呢? 当我们多个线程在读相同的数据的时候则是需要加锁 ...

  8. 如何进入MySQL

    C:\Users\电脑ID>D:D:\> cd D:\wamp\wamp64\bin\mysql\mysql5.7.19\binD:\wamp\wamp64\bin\mysql\mysql ...

  9. form表单里的故事

    <form class="m-t" role="form" action='javascript:;'> <div class="f ...

  10. Android 使用shape定义不同控件的的颜色、背景色、边框色

    Android 使用shape定义不同控件的的颜色.背景色.边框色 设置按钮的右边框和底边框颜色为红色,边框大小为3dp: 在drawable新建一个 buttonstyle.xml的文件,内容如下: ...