昨天写一个脚本花了一天的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啦!!!

linux 行首加特定字符_linux shell 用sed命令在文本的行尾或行首添加字符相关推荐

  1. linux 行首加特定字符_Linux:用sed命令在文本的行尾或行首添加字符

    用sed命令在行首或行尾添加字符的命令有以下幾種: 假設處理的文本為test.file 在每行的頭添加字符,比如"HEAD",命令如下: sed 's/^/HEAD&/g' ...

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

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

  3. linux shell 用sed命令在文本的行尾或行首添加字符

    from:http://www.cnblogs.com/aaronwxb/archive/2011/08/19/2145364.html 昨天写一个脚本花了一天的2/3的时间,而且大部分时间都耗在了s ...

  4. 【Linux脚本-sed命令在文本首行和尾行插入空行】

    @[TOC]Linux脚本-sed命令在文本首行和尾行插入空行 Linux脚本-sed命令在文本首行和尾行插入空行 演示如下: 首先创建需要操作的文本文件 //create a file contai ...

  5. linux shell sed命令 在文本每行 行尾 或 行首 添加字符

    用sed命令在行首或行尾添加字符的命令有以下几种: 假设处理的文本为test.file 在每行的头添加字符,比如"HEAD",命令如下: sed "s/^/HEAD&am ...

  6. linux vi行首加符号,vi/vim 中如何在每行行首或行尾插入指定字符

    匿名用户 1级 2018-06-13 回答 现在假设如是 nc10@your-5554c55be4 ~ $ cat sheet server 127.0.0.1 localhost connected ...

  7. 3、MacBook 跳到行尾、行首、Home和end快捷键

    Ctrl+A:到行首(达到Home键的效果) Ctrl+E:到行尾(达到End键的效果) Ctrl+N:到下一行 Ctrl+P:到上一行 Ctrl+K:从光标处开始删除,直到行尾 fn键+左方向键是H ...

  8. Shell之sed命令

    sed用于一次性处理所有的编辑任务,尤为高效,为用户节省了大量的时间,sed适用于以下三种场合: 1.编辑相对交互文本编辑器而言太大的文件: 2.编辑命令太复杂,在交互式文本编辑器中难以输入的情况: ...

  9. linux mac终端快捷键设置,mac shell终端编辑命令行快捷键

    Ctrl + d        删除一个字符,相当于通常的Delete键(命令行若无所有字符,则相当于exit:处理多行标准输入时也表示eof) Ctrl + h        退格删除一个字符,相当 ...

最新文章

  1. 《自然》杂志:超导突触处理信息能力超人脑
  2. 第一章 动态规划【未完结】
  3. 如果爱情不会让人受伤
  4. 服务器LIMIT是什么信号,Postfix添加milter-limit配置方案
  5. iOS/Android自动化云测试工具iTestin 1.0发布
  6. OS + macOS Mojave 10.14.4 / sushi / ssh-keygen / ssh-copy-id
  7. Essential Chart for ASP.NET MVC商业图表控件相关介绍及下载
  8. Android初级教程:对文件和字符串进行MD5加密工具类
  9. 3月4日 第1人称相机世界的坐标系,焦距、焦点、调焦、超焦距、视场角、滑动变焦Dolly zooming,相机内参
  10. 发那科机器人寄存器Ar_浅谈发那科机器人与TP参数之间的关系
  11. svn忽略指定文件或目录
  12. 个人博客页面的简单实现
  13. BMZ-MISC-损坏的压缩包
  14. Have smaller server identifier, so dropping the connection: (2, 1)
  15. libdbus 实例以及使用d-feet查看接口方法
  16. 1348:【例4-9】城市公交网建设问题
  17. contos7 安装Redis
  18. 如何使用 cri-docker 解决 Kubernetes 1.24 不支持 Docker 的问题
  19. 当心!共享单车二维码暗藏信息安全隐患
  20. 2020寒假【gmoj1747】【马蹄印】【DFS】

热门文章

  1. opencv java 车牌定位_用opencv实现在图像找到车牌号并检测出车牌号
  2. Vscode+phpstudy配置PHP环境,并在服务器中运行。
  3. 【哈夫曼树】牛客 哈夫曼树
  4. 下拉电阻阻值选多大?
  5. jQuery-file-upload插件的使用(小实例)
  6. Word中“更新所有域”的用法
  7. csp 2022.6
  8. pikachu SQL注入 (皮卡丘漏洞平台通关系列)
  9. Java高并发程序设计(三)——JDK并发包(二)
  10. 如何用开源飞控PIXHAWK进行二次开发?