Shell之sed命令
sed用于一次性处理所有的编辑任务,尤为高效,为用户节省了大量的时间,sed适用于以下三种场合:
1、编辑相对交互文本编辑器而言太大的文件;
2、编辑命令太复杂,在交互式文本编辑器中难以输入的情况;
3、对文件扫描一遍,但是需要执行多个编辑函数的情况;
sed 只是对缓冲区中原始文件的副本进行编辑,并不编辑原始的文件。因此,如果需要保存改动内容,需要将输出重定向到另一个文件,可以使用下面格式的命令:
sed 'sed命令' input_file > result_file
该命令将sed 命令对input-file的更改保存到result-file中,“>”符号是重定向符号;
调用sed的三种方式:
1、在shell中直接调用sed,格式为:sed [选项] 'sed命令' 输入文件 //必须用单引号引起sed命令
2、将sed命令插入脚本文件后,然后通过sed命令调用它,格式为:
sed [选项] -f sed脚本 输入文件
3、直接执行sed脚本,格式为:
./sed 脚本文件 输入文件
sed命令标识对文本进行如何处理。如打印、删除、追加、插入、替换等
sed命令定位文本的方法:
sed -n '1p' input //仅仅打印input的第一行; 若不带-n选项,则不仅仅打印第1行,还会打印input的全部内容;
sed -n '3, 6p' input //仅仅打印第3-6行
使用/pattern/方法进行模式匹配
sed -n '/Certificate/p' input //打印匹配Certificate的行,大小写敏感
sed -n /Certificate/, 6p' input //打印匹配Certificate的行 到 6 之间的行
sed编辑命令 a\ 符号用于追加文本,它可以将指定文本的一行或多行追加到指定行后面。如果不指定文本追加位置,sed默认放置到每一行的后面,追加文本的格式为:
sed '指定地址a\text' 输入文件
注:指定地址以匹配模式/pattern/或行号的形式给出,用于定位新文本的追加位置,sed对\a后的文本进行追加操作(增加新的一行);
特别注意:sed完成追加文本功能后,只是将结果输出到标准输出,原始文件并没有做任何改变;
/bin/sed -f #必须加上-f选项, 若无此选项,脚本执行报错
/test/a\ #a\表示在test所在的行之后添加文本 #添加内容
We append a new line . \ #"\”符号表示换行
We append another line.
"$"符号,在正则表达式中表示行尾,特别注意的是,在sed中, "$"表示最后一行;
sed -n '2, 10!p' input //表示打印出非2--10行的行;
插入文本:sed '指定地址i\text' 输入文件 //与“a\”刚好相反,在指定位置所在行之前行拆入text; (text是新的一行)
Shell之sed命令的更多相关文章
- [shell基础]——sed命令
关于sed sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓 ...
- shell的sed命令
sed命令用于在线编辑文本,它一次处理一行内容. 命令语法: sed [-n/e/f/r/i] [cmd] [InFile] 参数解释: 选项与参数: -n: quiet/silent,安静模式,经过 ...
- linux shell 用sed命令在文本的行尾或行首添加字符
转自 http://www.cnblogs.com/aaronwxb/archive/2011/08/19/2145364.html 昨天写一个脚本花了一天的2/3的时间,而且大部分时间都耗在了sed ...
- Shell学习:sed命令
http://blog.sina.com.cn/s/blog_a56ef5490101cn58.html sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行 ...
- 【shell】sed命令
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为: sed ...
- Linux Shell编程 sed命令
概述 sed 是一种几乎可以应用在所有 UNIX 平台(包括 Linux)上的轻量级流编辑器,体积小.所以,它可以对从如管道这样的标准输入中接收的数据进行编辑. sed 主要是用来将数据进行选取.替换 ...
- shell脚本——sed命令
sed 命令 作为行编辑器,对文件进行编辑(以行为单位进行编辑) sed编辑文件,却不改变原文件 sed工作原理: 指定一个文本文件,依次读取文本文件中的每行内容,读取到模式空间中,在模式空间中进行匹 ...
- Makefile Shell 脚本;sed命令
1. 在Makefile中想使用shell脚本,需要添加"@"符号,例如: @if [ -d xxx ]; then \ //-d 判 ...
- shell中sed命令
sed -i '/cd ${LDIR_DEST}\/webextend\/pc && ln -s \/hard\/www_winclient\/bboxpc.exe ./a\ \tcd ...
随机推荐
- protubuf在cocos2dx的应用安装
将protubuf放置在external文件夹 在vs工程里的luacocos2d里新建筛选器protubuf,将pb.c加入到该筛选器下. 将pb.c文件的属性里设置改文件编译为C文件. 将luas ...
- VS2010/MFC设置对话框控件的Tab顺序
设置对话框控件的Tab顺序 前面几节为大家演示了加法计算器程序完整的编写过程,本节主要讲对话框上控件的Tab顺序如何调整. 上一讲为“计算”按钮添加了消息处理函数后,加法计算器已经能够进行浮点数的加法 ...
- 在ASP.NET中动态加载内容(用户控件和模板)
在ASP.NET中动态加载内容(用户控件和模板) 要点: 1. 使用Page.ParseControl 2. 使用base.LoadControl 第一部分:加载模板 下 面是一个模板“<tab ...
- photoshop使用注意事项
CMYK 与 RGB 任何网络图片都会以RGB模式显示图片: 数码图片以RGB模式被捕捉,因此应在RGB模式下编辑: 大部分工具和滤镜只能在RGB模式下使用: RGB模式和CMYK模式之间不能实现无损 ...
- Java 使用Dom4j和JFileChooser实现xml文件的自主选择路径导出
直接来个简单的例子,大家一看便知. Document doc=DocumentHelper.createDocument();//创建document Element rootElement=doc. ...
- java结构与算法之选择排序
一 .java结构与算法之选择排序(冒择路兮快归堆) 什么事选择排序:从一组无序数据中选择出中小的的值,将该值与无序区的最左边的的值进行交换. 简单的解释:假设有这样一组数据 12,4,23,5,找到 ...
- CheckBox控件实现选项的选中
1:设置控件属性 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xml ...
- python命令行解析工具argparse模块【3】
上一节,我们讲解了ArgumentParser对象,这一节我们将学习这个对象的add_argument()方法. add_argument()方法的定义了如何解析一个命令行参数,每个参 ...
- easyui-datagrid通过action从数据库获取数据的关键代码
实际上是结合struts2来从数据获取json格式的数据. 关键代码: GetUserAction.java代码 package com.log.control; import java.io ...
- Flask中路由模块的实现
在Flask中的路由功能主要通过修饰函数route实现,下面我们就来挖掘下route在源代码中是怎么分配视图函数的. def route(self, rule, **options): def dec ...