第 29 章 Utility Programs

29.1. ed, red - text editor

行寻址

.	此选项对当前行寻址(缺省地址)。
number	此选项对第 number 行寻址。可以按逗号分隔的范围 (first,last) 对行寻址。0 代表缓冲区的开头(第一行之前)。
-number	此选项对当前行之前的第 number 行寻址。如果没有 number,则减号对紧跟在当前行之前的行寻址。
+number	此选项对当前行之后的第 number 行寻址。如果没有 number,则加号对紧跟在当前行之后的行寻址。
$	此选项对最后一行寻址。
,	此选项对第一至最后一行寻址,包括第一行和最后一行(与 1,$ 相同)。
;	此选项对当前行至最后一行寻址。
/pattern/	此选项对下一个包含与 pattern 匹配的文本的行寻址。
?pattern?	此选项对上一个包含与 pattern 匹配的文本的行寻址。
	

命令描述

a	此命令在指定的地址之后追加文本。
c	此命令将指定的地址更改为给定的文本。
d	此命令删除指定地址处的行。
i	此命令在指定的地址之前插入文本。
q	此命令在将缓冲区保存到磁盘后终止程序并退出。
r file	此命令读取 filespec 的内容并将其插入指定的地址之后。
s/pattern/replacement/	此命令将匹配 pattern 的文本替换为指定地址中的 replacement 文本。
w file	此命令将指定的地址写到 file。如果没有 address,则此命令缺省使用整个缓冲区。
	

实例,删除passwd中的neo用户

ed -s passwd <<EOF
/neo/
d
wq
EOF
ed -s mfsmetalogger.cfg <<EOF
,s/^# //
wq
EOF		

删除尾随空格

$ cat -vet input.txt

This line has trailing blanks.    $
This line does not.$

$ (echo ',s/ *$//'; echo 'wq') | ed -s input.txt

$ cat -vet input.txt

This line has trailing blanks.$
This line does not.$

原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。

时间: 2024-08-01 12:05:13

第 29 章 Utility Programs的相关文章

第 7 章 Utility Programs

目录 7.1. ed, red - text editor 7.2. vim 7.2.1. 查找与替换 7.2.2. 插入文件 7.2.3. 批处理 7.2.3.1. vi 批处理 7.2.4. line() 7.2.5. set fileformat 7.3. awk 7.3.1. 处理列 7.3.2. printf 7.3.3. Pattern(字符匹配) 7.3.3.1. Pattern, Pattern 7.3.4. Built-in Variables (NR/NF) 7.3.4.1.

第 29 章 调试工具

29.1. ftop - Tool to show progress of open files and file systems ftop 是一个显示进程打开文件的工具 Tue Jan 20 16:25:50 2015 ftop 1.0 Processes: 47 total, 0 unreadable Press h for help, o for options Open Files: 57 regular, 0 dir, 149 chr, 0 blk, 12 pipe, 59 sock,

第 29 章 日志

原文出处:Netkiller 系列 手札 本文作者:陈景峯 转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明.

《Cocos2d-x实战 C++卷》上线了-源码-样章-感谢大家的支持

<Cocos2d-x实战 C++卷>上线了 感谢大家一直以来的支持!   全面介绍Cocos开发技巧,采用Cocos2d-x3.2版本,并且详细介绍跨平台移植已经多平台发布细节. · 各大商店均开始销售: 京东:http://item.jd.com/11584534.html 亚马逊:http://www.amazon.cn/Cocos2d-x%E5%AE%9E%E6%88%98-C-%E5%8D%B7-%E5%85%B3%E4%B8%9C%E5%8D%87/dp/B00PTYWTLU 当当:

《算法导论(原书第3版)》一第1章 算法在计算中的作用 - 1.1 算法

第1章 算法在计算中的作用 什么是算法?为什么算法值得研究?相对于计算机中使用的其他技术来说算法的作用是什么?本章我们将回答这些问题. 1.1 算法 非形式地说,算法(algorithm)就是任何良定义的计算过程,该过程取某个值或值的集合作为输入并产生某个值或值的集合作为输出.这样算法就是把输入转换成输出的计算步骤的一个序列. 我们也可以把算法看成是用于求解良说明的计算问题的工具.一般来说,问题陈述说明了期望的输入/输出关系.算法则描述一个特定的计算过程来实现该输入/输出关系. 例如,我们可能需

apt-get 和 apt-cache 命令实例展示

apt-get 和 apt-cache 命令实例展示 apt-get和apt-cache是Ubuntu Linux中的命令行下的包管理工具. apt-get的GUI版本是Synaptic包管理器.本篇中我们会展示apt-get和apt-cache命令的15个不同例子. 示例:1 列出所有可用包 linuxtechi@localhost:~$ apt-cache pkgnames account-plugin-yahoojp ceph-fuse dvd+rw-tools e3 gnome-comm

关东升的《从零开始学Swift》3月9日已经上架

    大家一直期盼的<从零开始学Swift>于3月9日已经上架,它是关东升老师历时8个月的呕心沥血所编著,全书600多页,此本书基于Swift 2.x,通过大量案例全面介绍苹果平台的应用开发.全书共分5 部分,包括Swift语法篇.Cocoa Touch框架编程篇.混合编程篇.进阶篇和项目实战篇,囊括了开发工具介绍.语言基础知识,直至应用在App Store上线的所有内容.此外,本书前20 章专门配有同步练习,以帮助读者掌握所学知识.本书更加适合Swift开发者.大家可以看一下.http:/

关东升的《从零开始学Swift》即将出版

大家好:   苹果2015WWDC大会发布了Swift2.0,它较之前的版本Swift1.x有很大的变化,所以我即将出版<从零开始学Swift><从零开始学Swift>将在<Swift开发指南>第1版的基础上添加Swift2.0的内容,同时摒弃第1版的一些不合理的内容,使得本书更加适合Swift开发者.我将连续发一些<从零开始学Swift>的学习笔记,有兴趣者,可以看一下. 书中源代码下载地址:http://51work6.com/swiftbook1.ph

《Web性能实践日志》一导读

序 Web性能实践日志 您手中的这本书收录了大量已发表的 Web 性能相关的文章.其中包括了许多性能相关的主题,如开源工具.缓存.移动网络和应用.自动化.用户体验优化.HTML5.JavaScript.CSS3.指标.ROI和网络协议.这些文章的作者形形色色,有全球最大互联网公司的职员,也有独立顾问.作者们代表至少7家Web性能初创公司:Blaze.Cloud-Flare.Log Normal.Strangeloop.Torbit.Turbobytes和Zoompf.主题和贡献者范围之广令人印象