sed语法
Sed 命令行
以下是我们可以指定单引号在命令行sed命令的格式如下:
sed [-n] [-e] 'command(s)' files
例子
考虑一下我们有一个文本文件books.txt待处理,它有以下内容:
1) A Storm of Swords, George R. R. Martin, 1216
2) The Two Towers, J. R. R. Tolkien, 352
3) The Alchemist, Paulo Coelho, 197
4) The Fellowship of the Ring, J. R. R. Tolkien, 432
5) The Pilgrimage, Paulo Coelho, 288
6) A Game of Thrones, George R. R. Martin, 864
首先,让我们不带任何命令使用sed文件的完整显示内容如下:
[jerry]$ sed '' books.txt
执行上面的代码,会得到如下结果:
1) A Storm of Swords, George R. R. Martin, 1216
2) The Two Towers, J. R. R. Tolkien, 352
3) The Alchemist, Paulo Coelho, 197
4) The Fellowship of the Ring, J. R. R. Tolkien, 432
5) The Pilgrimage, Paulo Coelho, 288
6) A Game of Thrones, George R. R. Martin, 864
现在,我们从上述文件中显示将看到sed的delete命令删除某些行。让我们删除了第一,第二和第五行。在这里,要删除给定的三行,我们已经指定了三个单独的命令带有-e选项。
[jerry]$ sed -e '1d' -e '2d' -e '5d' books.txt
执行上面的代码,会得到如下结果:
3) The Alchemist, Paulo Coelho, 197
4) The Fellowship of the Ring, J. R. R. Tolkien, 432
6) A Game of Thrones, George R. R. Martin, 864
sed脚本文件
下面是第二种形式,我们可以提供一个sed脚本文件sed命令:
sed [-n] -f scriptfile files
首先,创建一个包含在一个单独的行的文本commands.txt文件,每次一行为每个sed命令,如下图所示:
1d
2d
5d
现在,我们可以指示sed从文本文件中读取指令和执行操作。这里,我们实现相同的结果,如图在上述的例子。
[jerry]$ sed -f commands.txt books.txt
执行上面的代码,会得到如下结果:
3) The Alchemist, Paulo Coelho, 197
4) The Fellowship of the Ring, J. R. R. Tolkien, 432
6) A Game of Thrones,George R. R. Martin, 864
sed标准选项
sed支持可从命令行提供下列标准选择。
-n 选项
这是模式缓冲区的缺省打印选项。 GNU sed解释器提供--quiet,--silent选项作为 -n选项的替代。
例如,下面 sed 命令不显示任何输出:
[jerry]$ sed -n '' quote.txt
-e 选项
-e选项的编辑选项。通过使用此选项,可以指定多个命令。例如,下面 sed 命令打印每行两次:
[jerry]$ sed -e '' -e 'p' quote.txt
执行上面的代码,会得到如下结果:
There is only one thing that makes a dream impossible to achieve: the fear of failure.
There is only one thing that makes a dream impossible to achieve: the fear of failure.
- Paulo Coelho, The Alchemist
- Paulo Coelho, The Alchemist
-f 选项
-f选项是用来提供包含sed命令的文件。例如,我们可以按如下方法通过文件指定一个打印命令:
[jerry]$ echo "p" > commands.txt
[jerry]$ sed -n -f commands quote.txt
执行上面的代码,会得到如下结果:
There is only one thing that makes a dream impossible to achieve: the fear of failure.
- Paulo Coelho, The Alchemist
sed语法的更多相关文章
- sed语法2
sed命令是一个面向字符流的非交互式编辑器,也就是说sed不允许用户与它进行交互操作.sed是按行来处理文本内容的.在shell中,使用sed来批量修改文本内容是非常方便的. sed命令的选项 sed ...
- shell编程之sed语法
首先插播条广告: 想要进一个文件夹去 看下面有那些文件 必须对这个文件夹有执行权限. sed p 打印对应的行 2p 打印第二行. -n 只输出经过sed 命令处理的行 看图吧 不太会擅长言语 ...
- Shell基本语法---处理海量数据的sed命令
sed命令 shell脚本三剑客之一 处理时,把当前处理的行存储在临时缓冲区中,称为模式空间,接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到 ...
- sed入门详解教程
sed是一个比较古老的,功能十分强大的用于文本处理的流编辑器,加上正则表达式的支持,可以进行大量的复杂的文本编辑操作.sed本身是一个非常复杂的工具,有专门的书籍讲解sed的具体用法,但是个人觉得没有 ...
- sed命令的基本使用
sed(Stream Editor):流编辑器 一次只读取一行 模式空间 1.sed语法: sed [option] "script" FILE... 2.选项: -n:静默模式, ...
- sed文本处理知识点整理
参考资料:http://man.linuxde.net/sed <鸟哥的私房菜> sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用.sed 后面接的操作 ...
- linux学习:sed与awk与tr用法整理
流编辑器:sed 语法:sed [-hnV][-e<script>][-f<script文件>][文本文件] 参数: -e<script>或--expression ...
- 掌握Sed命令
带书签PDF版,喜欢的话,欢迎多提意见和建议,你的支持是血蝙蝠最大的前进动力! http://download.csdn.net/detail/challenge_c_plusplus/6480007 ...
- Shell三剑客之sed命令
Sed简介 Sed是Stream Editor(流编辑器)缩写,是操作.过滤和转换文本内容的强大工具,常用功能有增删改查. Sed命令执行流程 Sed语法格式 Sed [option] ‘[匹配][处 ...
随机推荐
- vue.js中的computed和watch的区别
1.computed在调用时不需要加(),watch是不需要调用的2.computed如果属性没有发生改变时会从缓存中读取值,watch当属性发生改变时会接收到2个值:一个为新值,一个为旧值3.com ...
- Linux tshark抓包
使用tshark进行抓包 注:需要安装wireshar抓包工具 安装:yum -y install wireshark # 可以抓的包 命令:tshark # 抓取mysql查询 命令:tshark ...
- IDEA的校园邮箱激活方式
链接: https://blog.csdn.net/m0_37286282/article/details/78279060
- (转)A curated list of Artificial Intelligence (AI) courses, books, video lectures and papers
A curated list of Artificial Intelligence (AI) courses, books, video lectures and papers. Updated 20 ...
- Java 成员变量和属性的区别
例一: 一个Student pojo类: public class Student{ private String name; private int age; public String getNa ...
- 编码原则 之 Explicit Dependencies Principle
Explicit Dependencies Principle The Explicit Dependencies Principle states: Methods and classes shou ...
- trueStudio中使用printf函数
1.通过printf输出浮点数需要如下设置: 在工程属性下找到C/C++ build->Settings->Tool Settings->C Linker->Miscellan ...
- Nearest neighbor graph | 近邻图
最近在开发一套自己的单细胞分析方法,所以copy paste事业有所停顿. 实例: R eNetIt v0.1-1 data(ralu.site) # Saturated spatial graph ...
- jRazor
引擎渲染速度竞赛 条数据 × 次渲染测试 建议在高版本的浏览器上进行测试,避免浏览器停止响应 测试环境: 开始测试»
- 记不住的Android活动的生命周期
Activity基类定义了管理一个互动的生命周期的一系列事件. Activity生命周期的一系列事件onCreate()——当前活动首次被创建时使用.onStart()——当前活动对用户可见时调用.o ...