Sed的使用方法简介
=============Sed==================
Sed:是一款流编辑工具,用来对文本进行过滤与替换工作,特别是当你想对几十个配置文件进行统一修改时,你会体会到它的魅力;Sed通过一次仅读取一行内容来对某 些指令进行处理后输出,所以Sed更适合处理大数据文件;Sed通过文件或管道读取文件内容,但它默认并不直接修改源文件,而是将读入的内容复制到缓冲区(模 式空间),然后根据相应的指令对缓冲区中的内容进行处理并输出结果,默认输出至标准输出(即屏幕上);
一:Sed文本过滤工具,针对于行过滤:
(1)sed -n ‘xxp’
eg: sed -n ‘1p’ 打印第一行
sed -n ‘1,3p’ 打印1到3行
sed -n ‘1~2’ 打印奇数行,从第1行开始,每2行匹配一次操作地址

(2)sed -n ‘/^xxx/p’ 打印以xx开头的行
sed -n ‘/xxx$/p’ 打印以xx结尾的行

(3)sed -e 可以执行相匹配的多个条件
sed ‘/^a/p;/^[0-9]/p’ ceshi.sh 可以用封号将多个指令隔开
eg: sed -e ‘/^a/p’ -e ‘/^[0-9]/p’

(4) sed -n ‘//=’ 显示所匹配的行号
eg: sed -n ‘/^a/=’ ceshi.sh

(5) sed ‘//a ***’ 向匹配的行后追加内容,a后追加内容
sed ‘//i ****’ 向匹配的行前添加内容,i后为追加内容
sed ‘2a chehuiwei’ ceshi.sh 在第二行后追加
sed ‘3i chehuiwei’ ceshi.sh 在第三行前添加
sed ‘/ONBOOT/c ONBOOT=yes’ test.txt 将包含相关内容的行的内容更改


(6) sed -n ‘1,3!p’ 取反

(7)sed ‘1,2d’ ceshi.sh 删除1到2行
sed ‘/^a/d’ ceshi.sh 删除以a开头的行
sed ‘/^$/d’ ceshi.sh 删除文件中的空白行

(8) sed ‘s/旧的内容/替换的新内容/g’ ceshi.sh 替换
sed -n ‘1,2s/旧的内容/替换的新内容/p’ ceshi.sh 将前两行打印出来并替换相关内容
sed ‘s/旧的内容/替换的新内容/n’ ceshi.sh 当一行中有多个要替换的内容时,n指定替换第几个
grep -v ^$ ceshi.sh |sed 's/ru[1-3]/\<&\>/1;s/ru[1-3]/\<\/&\>/2' 用&来代替正则表达式匹配的内容
注意:如果规则表达式或替换字符串中有许多斜杠,则可以在s之后指定一个不同的字符来更改分割符:
eg: sed -e ‘s:/usr/local:/usr:g’ ceshi.sh 此时:是替换分隔符,sed会将/usr/local替换成/usr,e可加可不加



(9)sed -i 文件名称 将更改内容写入文件
eg: sed -i ‘s/旧的内容/新的内容/g’ ceshi.sh

Sed的使用方法简介的更多相关文章
- gawk使用方法简介
转载:gawk 使用方法简介 - 简书 (jianshu.com) gawk 是最初 Unix 系统上 awk 程序的 GNU 版本.相对于作为流式编辑器的 sed 而言,它提供了更为强大的编程语言特 ...
- 网络神器Greasemonkey(油猴子)使用方法简介+脚本分享【转载】
推荐下,觉得这个方法有用, 今天艾薇百科来介绍一下功能强大的Greasemonkey,俗称"油猴子",Greasemonkey可以自由定制网页,实现你想要的各种功能.堪称" ...
- Redis Cluster搭建方法简介22211111
Redis Cluster搭建方法简介 (2013-05-29 17:08:57) 转载▼ Redis Cluster即Redis的分布式版本,将是Redis继支持Lua脚本之后的又一重磅 ...
- Monte Carlo方法简介(转载)
Monte Carlo方法简介(转载) 今天向大家介绍一下我现在主要做的这个东东. Monte Carlo方法又称为随机抽样技巧或统计实验方法,属于计算数学的一个分支,它是在上世纪四十年代 ...
- C#——Marshal.StructureToPtr方法简介
目录 MarshalStructureToPtr方法简介 功能及位置 语法 参数说明 异常 备注 举例 本博客(http://blog.csdn.net/livelylittlefish)贴出作者(三 ...
- TabBarController创建及使用方法简介
TabBarController创建及使用方法简介 大致讲解一下TabBarController的创建过程: 首先,我们需要一些视图,如创建UIControllerView类型的view1,view2 ...
- delphi操作文本文件的方法简介
delphi操作文本文件的方法简介减小字体 增大字体 作者佚名来源不详发布时间2008-5-31 10:31:16发布人xuedelphi1 文件类型和标准过程 Delphi同Object ...
- iOS中常用的四种数据持久化方法简介
iOS中常用的四种数据持久化方法简介 iOS中的数据持久化方式,基本上有以下四种:属性列表.对象归档.SQLite3和Core Data 1.属性列表涉及到的主要类:NSUserDefaults,一般 ...
- jQuery的AJAX方法简介及与其他文件$符号冲突的解决办法
一.重要的jQuery AJAX方法简介 $.load(url) 从服务器载入数据 $.get(url,callback) 从服务器请求数据,并执行回调函数 $.post(url,data,callb ...
随机推荐
- Python极其简单的分布式异步作业管理系统RQ入门
Python极其简单的分布式异步作业管理系统RQ入门 原创 2017-08-19 lixing 生信人 Python极其简单的分布式异步作业管理系统RQ入门 1. 什么是Job? Job直译过来就是工 ...
- leetcode334
public class Solution { public bool IncreasingTriplet(int[] nums) { var len = nums.Length; ) { retur ...
- linux shell find
find / -ctime +365 ! -name "*.bat" -exce rm -rf {} \;
- 【转】运输层TCP协议详细介绍
TCP是TCP/IP协议族中非常复杂的一个协议.它具有以下特点: 1:面向连接的运输层协议.在使用TCP协议之前,首先需要建立TCP连接.传送数据完毕后,必须释放已经建立的TCP连接. 2:一条TCP ...
- avalon最佳实践
最近从angular的QQ群与新浪微博拉了许多人来用我的avalon,成为第一批登上方舟,脱离DOM苦海的人.短短三个月内,5群的朋友也搞出几个切实实行的案例了.为应对粉丝们高益高涨的热情,遂放出此文 ...
- delphi 三层架构简单例子(经测试成功)
delphi 三层架构简单例子(经测试成功) 转载 2013年12月19日 09:48:57 1100 所谓三层: (1) 客户端 (2) 服务器端 (3) 数据库 在数据访问时,使得客户端必须通过服 ...
- 中文分词工具jieba中的词性类型
jieba为自然语言语言中常用工具包,jieba具有对分词的词性进行标注的功能,词性类别如下: Ag 形语素 形容词性语素.形容词代码为 a,语素代码g前面置以A. a 形容词 取英语形容词 adje ...
- curl 访问 k8s
curl https://mhc:6443/api --cacert ssl/ca.crt --key client_ssl/cs_client.key --cert client_ssl/cs_cl ...
- VSS/RSS/PSS/USS
[VSS/RSS/PSS/USS] Android has a tool called procrank (/system/xbin/procrank), which lists out the me ...
- Unity内存优化
[Unity内存优化] 1.在Update方法或循环中,少用string类,因为string类的每次操作都会调用new生成新字符串对象.用StringBuilder代替string,StringBui ...