sed命令的基本使用
sed(Stream Editor):流编辑器
一次只读取一行
模式空间
1、sed语法:
sed [option] "script" FILE...
2、选项:
-n:静默模式,不输出模式空间中的内容
-r:使用扩展的正则表达式
-f:/path/to/sed_script_file:指定sed脚本文件
-e 'script' -e 'script' :指定多个编辑脚本
-i:直接修改读取的文件内容,而不是输出到终端
3、编辑命令:
d:删除
p:打印
i \text:匹配内容上面增加text内容
a \text:匹配内容西面增加text内容
r /path/to/somefile:在制定位置把另外一个文件的内容插入进来
w /path/to/somefile:将符合条件的所有行保存至指定得文件中
= :显示符合条件行的行号
例如:# sed -n '/^UUID/=' /etc/fstab
s///:查找条件可以使用模式,但要替换的内容不行
4、地址定界:
startline,endline:1,3
/pat1/,/pat2/
/pattern/
用法:
sed [options] 'addr1[,addr2]编辑命令' FILE ...
sed [options] "addr1[,addr2]编辑命令" FILE ...
5、正则表达式:
基本的:
字符:
.
[]
[^]
次数:
*
\?
\{m,n\}
锚定:
^
$
\<,\b
\>,\b
分组:
\(\)
引用:
\1,\2,...
扩展:
字符:
.
[]
[[:lower:]],[[:punct:]],[[:alnum:]]
次数:
*
?
+
{m,n}
锚定:
^
$
\>,\b
\<,\b
或:
a|b
分组:
()
引用:
\1,\2,...
sed '地址定界s@查找条件@替换文本@'
6、修饰符:
g:global,全局替换
i:ignore-case,不区分字符大小写
7、例子:
1、将selinux的enforcing改成disabled
# sed 's@^SELINUX=enforcing@SELINUX=disabled@g' /etc/selinux/config
2、删除/etc/init.d/functions文件中的空白行
# sed '/^$/d' /etc/init.d/functions
3、删除/etc/inittab文件中位于行首的#号
# sed 's@^#@@g' /etc/inittab
4、删除/etc/rc.d/rc.sysinit文件夹中以#后跟至少一个空白字符开头的行的行首的#和空白字符
# sed 's@^#[[:space:]]\{1,\}@@g' /etc/rc.d/rc.sysinit
5、删除/boot/grub/grub.conf文件中行首的空白字符
# sed 's@^[[:space:]]\{1,\}@@' /boot/grub/grub.conf
6、取出一个文件路径的目录名称
# echo /etc/sysconfig/network/ | sed 's@[^/]\{1,\}/\?$@@'
sed命令的基本使用的更多相关文章
- 文本处理三剑客之sed命令
第十八章.文本处理三剑客之sed命令 目录 sed介绍 sed命令常用选项 sed常用编辑命令 sed使用示例 sed高级语法 18.1.sed简介 sed全名stream editor,流编辑器,s ...
- linux shell 用sed命令在文本的行尾或行首添加字符
转自 http://www.cnblogs.com/aaronwxb/archive/2011/08/19/2145364.html 昨天写一个脚本花了一天的2/3的时间,而且大部分时间都耗在了sed ...
- linux sed命令详解
简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的 ...
- sed命令详解
搜索 纠正错误 添加实例 sed 功能强大的流式文本编辑器 补充说明 sed 是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响.处理时,把当前处理的行存储在临时 ...
- Linux安全基础:sed命令的使用
sed 是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作. Sed本质上是一个编辑器,但是它是非交互式的,这点与VIM不同:同时 ...
- [转]sed命令详解
转载:http://blog.chinaunix.net/u/22677/showart_1076318.html 1.简介 sed是非交互式的编辑器.它不会修改文件,除非使用shell重定向来保 ...
- sed命令
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为: sed ...
- sed 命令使用
ios 的sed 命令 跟linux sed 命令有区别 # 所有的a 替换成b sed -i "" 's/a/b/g' #删除掉所有包含a的行 sed -i "/a/ ...
- sed命令给文本文件的每行的行首或者行尾添加文字
在每行的头添加字符,比如"HEAD",命令如下: sed 's/^/HEAD&/g' test.file 在每行的行尾添加字符,比如“TAIL”,命令如下: sed 's/ ...
- Linux的sed命令
一.初识sed 在部署openstack的过程中,会接触到大量的sed命令,比如 # Bind MySQL service to all network interfaces.sed -i 's/12 ...
随机推荐
- loadrunner录制脚本方式笔记
1.脚本录制的基本原则 充分考虑脚本的执行效率 性能测试脚本关注的是如何模拟用户的真实行为.因此,用于测试的脚本应该接近用户的真正操作.这就要求录制后 的脚本在修改的过程中不要增加过多 ...
- JavaScript学习笔记及知识点整理_2
1.一般而言,在Javascript中,this指向函数执行时的当前对象.举例如下: var someone = { name: "Bob", showName: function ...
- 【PHP】基于ThinkPHP框架搭建OAuth2.0服务
[PHP]基于ThinkPHP框架搭建OAuth2.0服务 http://leyteris.iteye.com/blog/1483403
- CSS实现垂直居中
Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中的确是有vertical-align属性,但是它只对(X)HTML元素中拥有valign特性的元素才生效,例如表格元素中的<td>. ...
- 【转】 TCP协议中的三次握手和四次挥手(图解)
建立TCP需要三次握手才能建立,而断开连接则需要四次握手.整个过程如下图所示: 先来看看如何建立连接的. 首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资 ...
- 有关于psExec的使用
psExec是微软pstools工具包中最常用的一个工具,也是在内网渗透中的免杀渗透利器. psExec能够在命令行下在对方没有开启telnet服务的时候返回一个半交互的命令行,像telnet客户端一 ...
- 测试秒杀新版本3.5 stieserver cms
EXP: 直接访问UserCenter/login.aspx 用户名处输入: 123′insert into bairong_Administrator([UserName],[Password],[ ...
- 并发编程 04——闭锁CountDownLatch 与 栅栏CyclicBarrier
Java并发编程实践 目录 并发编程 01—— ThreadLocal 并发编程 02—— ConcurrentHashMap 并发编程 03—— 阻塞队列和生产者-消费者模式 并发编程 04—— 闭 ...
- springmvc使用spring自带日期类型验证
控制器 @Controller public class MyController { // 处理器方法 @RequestMapping(value = "/first.do") ...
- cookie预:
什么是cookie? cookie 是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie.你可以使用 JavaScript 来创建和取回 cookie ...