linux sed 命
sed(stream editor):是流编辑器,按行进行操作,对符合模式的行在内存中进行操作,不对原文件进行修改,处理结束后将模式空间打印到屏幕。
sed 的模式空间 处理文件流的内存空间叫模式空间,这个模式空间可以用正则表达式对文件进行过滤。
sed [optitons]'AddressCommand' file,file....
[optition]
-n 不再显示模式空间中的内容,
-i 直接修改原文件,
-e :可以同时执行多个脚本
-f 指定一个文件 文件里面保存操作的脚本
-r:表示使用扩展正则表达式
Address
Address:
1.StartLine,EndLine 用逗号隔开
2.模式 /Pattern/ Pattern=RegExp eg:/^root/ 以root 开头的行
3./pattern1/,/pattern2/,第一次被pattern1匹配到的行至第一次被pattern2匹配到的行
4.只给一个数值,特定的一行。$表示最后一行。
5.指定起始行,StartLine,+N,从StartLine开始,向后N行。
Command:
d:删除符合条件的行
p:显示符合条件的行 显示以斜线开头的行 eg:sed '/^\//p' /etc/fstab
a: \string: 在指定的行后面追加新行,内容为string eg:'/^\//a \hello word' /etc/fstab 寻找/etc/fstab 中以反斜杠开头的行,并在后面添加 hello word
i: \string;在指定的行前面添加新行,内容为string
r file :将指定的文件的内容添加至符合条件的行处 eg:sed '2r /etc/issue' /etc/fstab
w file :将指定范围内的内容另存为另外一个文件中 eg: sed '/oot/w /tmp/oot.txt' /etc/fstab 将/etc/fstab中含有oot的行保存到/tmp/oot.txt中
s:/pattern/string/修饰符:查找并替换,默认替换每行中第一次被模式匹配到的字符串。加修饰符 g:全局替换。i:查找时忽略字符大小写。s后面的分隔符可以用用几个相同的字符代替。比如###
sed's/oot/OOT/' /etc/fstab,sed's/^\//#/' /etc/fstab将行首的反斜杠替换为井号。
&:表示引用的模式匹配到的串。 sed 's#l..e#&r#g' sed.txt 将符合l..e 的字符串替换为后面加r
或者sed 's#\(l..e\)#\1r#g' sed.txt 这叫做后向引用。
linux sed 命的更多相关文章
- Linux sed 替换第一次出现的字符串
/********************************************************************************* * Linux sed 替换第一次 ...
- linux sed命令参数及用法详解
linux sed命令参数及用法详解 http://blog.csdn.net/namecyf/article/details/7336308 1. Sed简介 sed 是一种在线编辑器,它一次处理一 ...
- linux sed 批量替换多个文件中的字符
格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` linux sed 批量替换多个文件中的字符串 sed -i "s/oldst ...
- [转帖]linux sed命令
linux sed命令就是这么简单 https://www.cnblogs.com/wangqiguo/p/6718512.html 用到的最多的就是一个sed -i 's/nn/mm/' 的命令了. ...
- 理解linux sed命令
理解linux sed命令(2010-02-27 18:21:20) 标签:linuxshellsed替换 分类:革命本钱 1. Sed简介sed是一种在线编辑器,它一次处理一行内容.处理时,把当 前 ...
- learn Linux sed command
learn Linux sed command 一.参考文档: . sed命令详解 http://qifuguang.me/2015/09/21/sed%E5%91%BD%E4%BB%A4%E8%AF ...
- 【转】linux sed命令
转自:linux sed命令就是这么简单 参考:Linux三大剑客之sed:https://blog.csdn.net/solaraceboy/article/details/79272344 阅读目 ...
- linux sed命令(擅长输出行)(转)
linux命令总结sed命令详解 Sed 简介 sed 是一种新型的,非交互式的编辑器.它能执行与编辑器 vi 和 ex 相同的编辑任务.sed 编辑器没有提供交互式使用方式,使用者只能在命令行输入编 ...
- Linux sed 使用笔记
sed 工具使用笔记 Linux中经常需要对一些超大的文本文件进行操作,例如 GB 级别的 CSV.TXT.LOG 文件,如果使用 vi 或者 vim 编辑器操作会非常慢且卡,此时 sed 工具或许可 ...
随机推荐
- Redis用LPUSH和RPOP实现消息队列
using System; using System.Collections.Generic; using System.Linq; using System.Text; using ServiceS ...
- iOS swift objc_setAssociatedObject和objc_getAssociatedObject使用
oc中的AssociationsManager在swift中也是可以实现的 使用方法请看下面一个例子 import UIKit extension UIButton { func fk_addActi ...
- 大师养成计划之二:hibernate框架的使用------实例演示
搭建hibernate项目框架的步骤: 一.导入jar包 二.new .cfg.xml配置文件 <?xml version="1.0" encoding="U ...
- windows下python安装Numpy、Scipy、matplotlib模块(转载)
python下载链接 Numpy下载链接 python中Numpy包的安装及使用 Numpy包的安装 准备工作 Python安装 pip安装 将pip所在的文件夹添加到环境变量path路径中 ...
- LNMP环境搭建之php安装,wordpress博客搭建
LNMP环境搭建之php安装,wordpress博客搭建 一.介绍: 1.什么是CGI CGI全称是"通用网关接口"(Common Gateway Interface),HTTP服 ...
- Hibernate 中的DetachedCriteria。
今天看到项目中在Web层使用DetachedCriteria进行多条件查询操作,如果在web层做持久层操作,事物还存在吗?这是我第一反应,于是乎就去网上查资料了.结果发现即在web层,程序员使用Det ...
- 【JMeter4.0学习(十)】之JMeter函数简单运用以及结合正则表达式提取器
下面来简单的举个栗子: 首先,把函数和正则表达式提取器放在一块来介绍,如下所示: 1.结构完整展示,下面再一步一步创建添加: 2.添加线程组: 3.首先添加HTTP请求1 4.添加结果树后,运行后查看 ...
- C语言基础知识【基本语法】
C 基本语法1.C 的令牌(Tokens)C 程序由各种令牌组成,令牌可以是关键字.标识符.常量.字符串值,或者是一个符号.2.分号 ;在 C 程序中,分号是语句结束符.也就是说,每个语句必须以分号结 ...
- Ant自己主动编译打包&公布 android项目
Eclipse用起来尽管方便,可是编译打包android项目还是比較慢,尤其将应用打包公布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我们自己主动编译打包了 ...
- commons-dbutils:1.6 ——java.sql.SQLException: 不支持的特性
描述:使用jdbc创建连接后,使用commons-dbutils-1.6 数据库工具类,查询报错如下:java.sql.SQLException: 不支持的特性 Query: 经过测试跟踪在commo ...