linux 行首加特定字符_linux shell 用sed命令在文本的行尾或行首添加字符
昨天写一个脚本花了一天的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命令在文本的行尾或行首添加字符相关推荐
- linux 行首加特定字符_Linux:用sed命令在文本的行尾或行首添加字符
用sed命令在行首或行尾添加字符的命令有以下幾種: 假設處理的文本為test.file 在每行的頭添加字符,比如"HEAD",命令如下: sed 's/^/HEAD&/g' ...
- sed搜索某行在行末追加_linux shell 用sed命令在文本的行尾或行首添加字符
昨天写一个脚本花了一天的2/3的时间,而且大部分时间都耗在了sed命令上,今天不总结一下都对不起昨天流逝的时间啊~~~ 用sed命令在行首或行尾添加字符的命令有以下几种: 假设处理的文本为test.f ...
- linux shell 用sed命令在文本的行尾或行首添加字符
from:http://www.cnblogs.com/aaronwxb/archive/2011/08/19/2145364.html 昨天写一个脚本花了一天的2/3的时间,而且大部分时间都耗在了s ...
- 【Linux脚本-sed命令在文本首行和尾行插入空行】
@[TOC]Linux脚本-sed命令在文本首行和尾行插入空行 Linux脚本-sed命令在文本首行和尾行插入空行 演示如下: 首先创建需要操作的文本文件 //create a file contai ...
- linux shell sed命令 在文本每行 行尾 或 行首 添加字符
用sed命令在行首或行尾添加字符的命令有以下几种: 假设处理的文本为test.file 在每行的头添加字符,比如"HEAD",命令如下: sed "s/^/HEAD&am ...
- linux vi行首加符号,vi/vim 中如何在每行行首或行尾插入指定字符
匿名用户 1级 2018-06-13 回答 现在假设如是 nc10@your-5554c55be4 ~ $ cat sheet server 127.0.0.1 localhost connected ...
- 3、MacBook 跳到行尾、行首、Home和end快捷键
Ctrl+A:到行首(达到Home键的效果) Ctrl+E:到行尾(达到End键的效果) Ctrl+N:到下一行 Ctrl+P:到上一行 Ctrl+K:从光标处开始删除,直到行尾 fn键+左方向键是H ...
- Shell之sed命令
sed用于一次性处理所有的编辑任务,尤为高效,为用户节省了大量的时间,sed适用于以下三种场合: 1.编辑相对交互文本编辑器而言太大的文件: 2.编辑命令太复杂,在交互式文本编辑器中难以输入的情况: ...
- linux mac终端快捷键设置,mac shell终端编辑命令行快捷键
Ctrl + d 删除一个字符,相当于通常的Delete键(命令行若无所有字符,则相当于exit:处理多行标准输入时也表示eof) Ctrl + h 退格删除一个字符,相当 ...
最新文章
- 《自然》杂志:超导突触处理信息能力超人脑
- 第一章 动态规划【未完结】
- 如果爱情不会让人受伤
- 服务器LIMIT是什么信号,Postfix添加milter-limit配置方案
- iOS/Android自动化云测试工具iTestin 1.0发布
- OS + macOS Mojave 10.14.4 / sushi / ssh-keygen / ssh-copy-id
- Essential Chart for ASP.NET MVC商业图表控件相关介绍及下载
- Android初级教程:对文件和字符串进行MD5加密工具类
- 3月4日 第1人称相机世界的坐标系,焦距、焦点、调焦、超焦距、视场角、滑动变焦Dolly zooming,相机内参
- 发那科机器人寄存器Ar_浅谈发那科机器人与TP参数之间的关系
- svn忽略指定文件或目录
- 个人博客页面的简单实现
- BMZ-MISC-损坏的压缩包
- Have smaller server identifier, so dropping the connection: (2, 1)
- libdbus 实例以及使用d-feet查看接口方法
- 1348:【例4-9】城市公交网建设问题
- contos7 安装Redis
- 如何使用 cri-docker 解决 Kubernetes 1.24 不支持 Docker 的问题
- 当心!共享单车二维码暗藏信息安全隐患
- 2020寒假【gmoj1747】【马蹄印】【DFS】