sed学习[参考转载]

一.选项与参数:

-n :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到终端上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。
-e :直接在命令列模式上进行 sed 的动作编辑;
-f :直接将 sed 的动作写在一个文件内, -f filename 则可以运行 filename 内的 sed 动作;
-r :sed 的动作支持的是延伸型正规表示法的语法。(默认是基础正规表示法语法)
-i :直接修改读取的文件内容,而不是输出到终端。

二.function说明:

a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p :列印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!

三.示例:

1.ll | sed ‘2,5d‘ 列出文件夹内容,并将第2-5行删除

2.ll | sed ‘2d‘ 列出文件夹内容,并将第2行删除

3.ll | sed ‘2,$d‘ 列出文件夹内容,并将第二行到最后一行删除

4.ll | sed ‘2a think time‘ 列出文件夹内容,并在第二行下增加一句"think time"

5.ll | sed ‘2i think time‘ 列出文件夹内容,并在第二行上增加一句"think time"

6.ll | sed ‘2i think time\回车后再输入thinking‘再回车  列出文件夹内容,并在第二行上增加两句,用\来表示多句

7.ll | sed ‘2,5c think time‘ 列出文件夹内容,并将第2-5行替换成"think time"

8.ll | sed -n ‘5,7p‘ 列出第5-7行的内容

9.ll | sed -n ‘/web/p‘ 打印出含有web的行,正则以//来表示

10.ll | sed ‘/web/d‘ 删除含有web的行,其它行输出

11.ll | sed -n ‘/web/{s/web_/testweb_/;p}‘ 找出含有web_的行,并把web_替换成testweb_,{}表示要执行的表达示,里面的语句用;分隔,s/t/t1/g表示替换,加g表示全部,不加表示第一个。

12.ll | sed -e ‘7,$d‘ -e ‘s/admin/testadmin/g‘ 多点编辑,表示先删除第7行后的内容,再对剩下的内容进行替换操作。

13.sed -i ‘s/test/hello/g‘ test.txt 表示将test.txt中的所有的test直接改变成hello, -i 此操作慎用

14.sed -i ‘$a helloend‘ test.txt 表示将test.txt中最后一行加上helloend, $表示最后,也可以用数字,比如2a,就表示在第二行下增加

				
时间: 2024-10-30 23:01:31

sed学习[参考转载]的相关文章

ARM指令集学习总结-转载

ARM指令集比较简单,本文介绍ARM指令集中需要注意和不易理解的地方. 一.ARM指令集是32位的,程序的启动都是从ARM指令集开始,包括所有异常中断都是自动转化为ARM状态,并且所有的指令都可以是有条件执行的.         二.ARM指令集是Load/Store型的,只能通过Load/Store指令实现对系统存储器的访问,而其他的指令都是基于处理器内部的寄存器操作完成的,这和INTEL汇编是不同的,初学者很不易理解.        三.指令的后缀:     "S"  可选后缀,若

Sed学习笔记

Sed学习笔记 作者:Jims of 肥肥世家 <[email protected]> Copyright ? 2004,2005, 本文遵从GNU 的自由文档许可证(Free Document License)的条款,欢迎转载.修改.散布. 发布时间:2004年09月20日 最近更新:2005年12月22日,增加小技巧章节. Table of Contents 1. Sed简介 2. 定址 3. Sed命令 4. 选项 5. 元字符集 6. 实例 7. 脚本 8. 小技巧 1. Sed简介

gmock学习一 转载

Google Mock启蒙篇 [1] (Google C++ Mocking Framework for Dummies 翻译) Google C++ Mocking Framework for Dummies Google Mock启蒙篇 Version: 0.07< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" /> 作者:adrian alexander

linux grep正则学习(转载)

虽然正则表达式经常都在用,但是很少能够静下心来仔细的总结一下.最近看了一个台湾人的网站叫做鸟哥Linux私房菜,关于正则表达式的描述挺详细的.在此,我进行一下总结,如果想仔细的学习正则表达式,请访问鸟哥Linux私房菜,台湾同胞的网站是繁体中文的,需要点儿耐心. 正则表达式只是字符串的一种描述,只有和支持正则表达式的工具相结合才能进行字符串处理.本文以grep为例来讲解正则表达式. grep命令 功能:输入文件的每一行中查找字符串. 基本用法: grep [-acinv] [--color=au

Mongoose学习参考文档——基础篇

Mongoose学习参考文档 前言:本学习参考文档仅供参考,如有问题,师请雅正 一.快速通道 1.1 名词解释 Schema : 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力 Model : 由Schema发布生成的模型,具有抽象属性和行为的数据库操作对 Entity : 由Model创建的实体,他的操作也会影响数据库 注意: 1.本学习文档采用严格命名方式来区别不同对象,例如: var PersonSchema; //Person的文本属性 var PersonModel; //

IOS 学习参考

IOS 开发 http://code4app.com/ios/%E5%AE%9E%E6%97%B6%E6%9B%B4%E6%96%B0%E7%9A%84%E6%9B%B2%E7%BA%BF%E5%9B%BE/5100f9e06803fa686c000000 http://www.cnblogs.com/minglz/archive/2012/11/02/2750568.html  SQLite http://www.cnblogs.com/dlshandian/p/3421070.html 使用

Android repo 学习参考

/*************************************************************************** * Android repo 学习参考 * 说明: * 首先是由于源代码拷贝的问题,将原来的repo源码丢失了,顺便看一下作为使用 * 者,对repo需要掌握到哪些东西. * * 2017-2-6 深圳 南山平山村 曾剑锋 *************************************************************

正则表达式学习参考

正则表达式学习参考 1       概述 正则表达式(Regular Expression)是一种匹配模式,描述的是一串文本的特征. 正如自然语言中“高大”.“坚固”等词语抽象出来描述事物特征一样,正则表达式就是字符的高度抽象,用来描述字符串的特征. 正则表达式(以下简称正则,Regex)通常不独立存在,各种编程语言和工具作为宿主语言提供对正则的支持,并根据自身语言的特点,进行一定的剪裁或扩展. 正则入门很容易,有限的语法规则很容易掌握,但是目前正则的普及率并不高,主要是因为正则的流派众多,各种

gmock学习二 转载

Google Mock启蒙篇 [2] (Google C++ Mocking Framework for Dummies 翻译) 2011-11-22 22:34:58|  分类: C++ |  标签:google  mock  测试  |举报|字号 订阅 Setting Expectations 成功地使用Mock对象的关键是在它上面设置合适的期望.如果你设置的期望太过严格,你的测试可能会因为无关的改变而失败.如果你把期望设置的太过松驰,bugs可能会溜过去.而你需要的是你的测试可以刚好捕获你