昨天写一个脚本花了一天的2/3的时间,而且大部分时间都耗在了sed命令上,今天不总结一下都对不起昨天流逝的时间啊~~~

用sed命令在行首或行尾添加字符的命令有以下几种:

假设处理的文本为test.file

在每行的头添加字符,比如"HEAD",命令如下:

sed 's/^/HEAD&/g' test.file

在每行的行尾添加字符,比如“TAIL”,命令如下:

sed 's/$/&TAIL/g' test.file

运行结果如下图:

几点说明:

1."^"代表行首,"$"代表行尾

2.'s/$/&TAIL/g'中的字符g代表每行出现的字符全部替换,如果想在特定字符处添加,g就有用了,否则只会替换每行第一个,而不继续往后找了

例:

3.如果想导出文件,在命令末尾加"> outfile_name";如果想在原文件上更改,添加选项"-i",如

4.也可以把两条命令和在一起,在test.file的每一行的行头和行尾分别添加字符"HEAD"、“TAIL”,命令:sed '/./{s/^/HEAD&/;s/$/&TAIL/}' test.file

以上其实都还OK,昨天花太多时间,主要因为被处理的文件是用mysql从数据库提取的结果导出来的,别人给我之后我就直接处理,太脑残了= -我一直有点怀疑之所以结果不对,有可能是windows和linux换行的问题,可是因为对sed不熟,就一直在搞sed。。。。。。。

众所周知(= -),window和linux的回车换行之云云,如果你知道了,跳过这一段,不知道,读一下呗:

Unix系统里,每行结尾只有“”,即“\n”;Windows系统里面,每行结尾是“”,即“\n\r”。一个直接后果是,Unix系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在 Unix下打开的话,在每行的结尾可能会多出一个^M符号。

好了,所以我的问题就出在被处理的文件的每行末尾都有^M符号,而这通常是看不出来的。可以用"cat -A test.file"命令查看。因此当我想在行尾添加字符的时候,它总是添加在行首且会覆盖掉原来行首的字符。

要把文件转换一下,有两种方法:

1.命令dos2unix test.file

2.去掉"\r" ,用命令sed -i 's/\r//' test.file

好了,这样处理完,就OK啦!!!

sed搜索某行在行末追加_sed在行首或者行尾添加内容相关推荐

  1. sed搜索某行在行末追加_Linux的Shell--Sed操作(指定行增加删除内容)

    #-----------在某行(指具体行号)前或后加一行内容----------- linux vi命令删除一行 #第4行末尾追加一行,内容为test sed -i 'N;4atest' test.t ...

  2. sed搜索某行在行末追加_linux shell 用sed命令在文本的行尾或行首添加字符

    昨天写一个脚本花了一天的2/3的时间,而且大部分时间都耗在了sed命令上,今天不总结一下都对不起昨天流逝的时间啊~~~ 用sed命令在行首或行尾添加字符的命令有以下几种: 假设处理的文本为test.f ...

  3. sed搜索某行在行末追加_示范sed指定某行插入 追加和全局替换

    有时候会有这样的需求,在指定的行后面或者是前面追加一行,这个时候可以使用sed来完成,具体用法如下 a\ 在指定的行后面追加一行 b\ 在指定的行前面追加一行 使用指定的行号追加内容,在使用行号的过程 ...

  4. sed在某一行行首添加字符_sed在行首或者行尾添加内容

    昨天写一个脚本花了一天的2/3的时间,而且大部分时间都耗在了sed命令上,今天不总结一下都对不起昨天流逝的时间啊~~~ 用sed命令在行首或行尾添加字符的命令有以下几种: 假设处理的文本为test.f ...

  5. linux shell使用sed在行首和行末插入内容

    在某些场景我们需要对每一个行进行操作,例如添加行头,行尾内容. 定义: s/^/HEAD&/g 是在行首添加内容,g是应用到每一行,按需求添加 s/$/&TAIL/g 是在行末添加内容 ...

  6. sed在行首(行尾)添加字符串;在某行后添加多行字符串-转

    sed在行首添加字符串: sed 's/^/xxx/'  filename >output:^符号代表行首 sed在行尾添加字符串: sed 's/$/string/' filename> ...

  7. Objective-C文字换行方式(解决英文在行末时的换行问题)

    我们在做文字信息展示的时候会遇到这种情况:中文+英文(数字),当英文或者数字在行末并且过长的时候,这种情况下系统会默认把整个英文换到下一行展示.这样就会造成上一行显示不满的情况. 如果是UILabel ...

  8. sed 在行首或者行尾添加文本

    sed在行首添加注释 匹配1111的行 并在行首添加# 注释 sed -i '/1111/s/^/#/' /root/test.sh 匹配1111的行 并在行尾添加 # sed -i '/1111/s ...

  9. [Linux]用sed命令在行首或行位插入字符串

    sed命令在行首或行位插入字符串 一.在每行的开头添加字符串 比如在行首插入"assign",命令如下: sed -i 's/^/assign&/g' file.txt 二 ...

最新文章

  1. 远程桌面linux服务器配置,linux平台下远程桌面服务器的安装和设置
  2. Linux下C语言线程池的实现(1)
  3. [原]Python命令
  4. 用html5播放两个视频,HTML5视频 - 如何进行无缝播放和/或几个视频循环?
  5. php数组去空函数怎么写,分享php数组去除空值函数
  6. (王道408考研操作系统)第二章进程管理-第三节8:经典同步问题之吸烟者问题
  7. 小凡Linux国产网游《时空浩劫》安装+体验
  8. pagehelper工具类_PageHelper最佳实践
  9. 微软亚研院 | 智能信息检索综述
  10. Sublime Text3 插件:convertToUTF8
  11. Maven学习笔记1
  12. skywalking学习
  13. macOS开机启动项设置
  14. Unity官网中文API地址
  15. centos7利用libreoffice将doc文件转换为pdf
  16. 安装新的package后出现异常错误
  17. 【规范】C/C++注释格式
  18. java实现一个语法检查器_Java语法检查
  19. 软件工程项目分析(四) 瀚海星云新版网站 By 郭家华
  20. 计算机显示适配器禁用了电脑黑屏,Win10电脑禁用集成显卡后黑屏如何解决_Win10系统禁用集成显卡后黑屏解决方案...

热门文章

  1. 【labview】限幅子vi +源程序
  2. 华为畅享9 plus鸿蒙系统,华为鸿蒙系统支持的手机型号_鸿蒙系统支持华为哪几款手机...
  3. QQ机器人-nonebot
  4. Canvas如何等待所有图片加载完成才开始绘图
  5. 年轻人宣言:青春符号
  6. 阿里云服务器没有公网IP
  7. 【智能推荐】阿里云智能推荐AIRec文档说明与SDK测试
  8. 计蒜客 ACM训练联盟周赛 第一场 从零开始的神棍之路 暴力dfs
  9. bi软件用来做什么?
  10. 审计风险控制流程的起点_审计过程中如何理解风险评估程序和内部控制测试?...