[zz]linux之sed用法
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法
sed命令行格式为:
sed [-nefri] ‘command’ 输入文本
常用选项:
-n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。
-e∶直接在指令列模式上进行 sed 的动作编辑;
-f∶直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作;
-r∶sed 的动作支援的是延伸型正规表示法的语法。(预设是基础正规表示法语法)
-i∶直接修改读取的档案内容,而不是由萤幕输出。
常用命令:
a ∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c ∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d ∶删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
i ∶插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作~
s ∶取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!
举例:(假设我们有一文件名为ab)
删除某行
[root@localhost ruby] # sed '1d' ab #删除第一行
[root@localhost ruby] # sed '$d' ab #删除最后一行
[root@localhost ruby] # sed '1,2d' ab #删除第一行到第二行
[root@localhost ruby] # sed '2,$d' ab #删除第二行到最后一行
显示某行
. [root@localhost ruby] # sed -n '1p' ab #显示第一行
[root@localhost ruby] # sed -n '$p' ab #显示最后一行
[root@localhost ruby] # sed -n '1,2p' ab #显示第一行到第二行
[root@localhost ruby] # sed -n '2,$p' ab #显示第二行到最后一行
使用模式进行查询
[root@localhost ruby] # sed -n '/ruby/p' ab #查询包括关键字ruby所在所有行
[root@localhost ruby] # sed -n '/\$/p' ab #查询包括关键字$所在所有行,使用反斜线\屏蔽特殊含义
增加一行或多行字符串
[root@localhost ruby]# cat ab
Hello!
ruby is me,welcome to my blog.
end
[root@localhost ruby] # sed '1a drink tea' ab #第一行后增加字符串"drink tea"
Hello!
drink tea
ruby is me,welcome to my blog.
end
[root@localhost ruby] # sed '1,3a drink tea' ab #第一行到第三行后增加字符串"drink tea"
Hello!
drink tea
ruby is me,welcome to my blog.
drink tea
end
drink tea
[root@localhost ruby] # sed '1a drink tea\nor coffee' ab #第一行后增加多行,使用换行符\n
Hello!
drink tea
or coffee
ruby is me,welcome to my blog.
end
代替一行或多行
[root@localhost ruby] # sed '1c Hi' ab #第一行代替为Hi
Hi
ruby is me,welcome to my blog.
end
[root@localhost ruby] # sed '1,2c Hi' ab #第一行到第二行代替为Hi
Hi
end
替换一行中的某部分
格式:sed 's/要替换的字符串/新的字符串/g' (要替换的字符串可以用正则表达式)
[root@localhost ruby] # sed -n '/ruby/p' ab | sed 's/ruby/bird/g' #替换ruby为bird
[root@localhost ruby] # sed -n '/ruby/p' ab | sed 's/ruby//g' #删除ruby
插入
[root@localhost ruby] # sed -i '$a bye' ab #在文件ab中最后一行直接输入"bye"
[root@localhost ruby]# cat ab
Hello!
ruby is me,welcome to my blog.
end
bye
转自:http://www.cnblogs.com/dong008259/archive/2011/12/07/2279897.html
转载于:https://www.cnblogs.com/tiandsp/archive/2012/07/25/2608593.html
[zz]linux之sed用法相关推荐
- linux之sed用法-转
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法 sed命令行格式为: sed [-nefri ...
- Linux命令-Sed用法教程
sed 全名为 stream editor,是用于文本处理的流编辑器,支持正则表达式.sed处理文本... 前言 sed 全名为 stream editor,是用于文本处理的流编辑器,支持正则表达式. ...
- linux之sed用法
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法 sed命令行格式为:sed[-nefri]' ...
- linux之sed用法 (文本处理工具)
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法 sed命令行格式为: ...
- Linux 脚本执行遇到错误时中止,shell 文件内容替换 sed用法
Linux 脚本执行遇到错误时中止, shell 脚本中 : set -x 是开启, set +x是关闭 , set -e 表示有报错即退出, set +e 表示关闭这种设置. set ...
- linux中替换命令详解,linux中sed命令字符串替换的用法详解
Linux系统中sed命令可以将字符串批量替换,省去了很多麻烦,下面由学习啦小编为大家整理了linux系统中sed命令字符串替换的用法详解,希望对大家有帮助! linux中sed命令字符串替换的用法详 ...
- 面试linux中sed的用法,linux中sed命令的使用与注意小结
前言 sed是一种流编辑器,它是文本处理中非常有用的工具,能够完美的配合正则表达式使用,功能不同凡响.处理时,把当前处理的行存储在临时缓冲区中,称为『模式空间』(pattern space),接着用s ...
- Linux中sed命令使用大全
Linux中sed命令使用大全 sed编辑器是一种流式编辑器,与常见的交互式文本编辑器相反,交互式文本编辑器比如vim,可以通过键盘来交互式插入,删除文本,替换文本,流试编辑器会在编辑器处理数据之前预 ...
- sed是linux命令吗,Linux命令 sed
一. 以行为单位进行操作. d:删除 $ nl passwd | sed '2,5d' # 删除第2~5行 $ nl passwd | sed '2d' # 删除第2行 $ nl passwd | ...
最新文章
- 反汇编算法介绍和应用——线性扫描算法分析
- Pandas可视化综合指南:手把手从零教你绘制数据图表
- java面向对象程序设计第三版_JAVA面向对象程序设计之创建型设计模式
- Convolutional Neural Networks for Sentence Classification
- 人脸识别大规模爆发!
- [POJ 3155] Hard Life
- Python学习 Day 042 - css 浮动 定位
- IntelliJ IDEA学习总结(1)——IntelliJ IDEA 介绍
- linux替换windows换行符_vim编辑器的查找与替换
- 高创CDHD伺服驱动器调试软件ServoStudioSetup V2.18版本与技术资料
- springCloud 授权服务器
- 笔记本3.0 typec接口插上U盘没有反应
- pythondjangoweb典型模块开发实战 pdf下载_胡阳《Django企业开发实战高效Python Web框架指南》PDF及代码...
- php5 dm.dll,win10模块dll加载失败二进制怎么解决?
- 《全球概览》:嬉皮士生存指南
- android中监听的作用,Android里的AdapterView中OnItemClickListener监听器四个参数的含义...
- Linux定时器执行
- 跨网的数据交换解决方案
- mysql设计高考倒计时_HTML/CSS+JS制作一个高考倒计时页面
- Python3教程:copy模块详细用法
热门文章
- [转载] Python学习系列之下划线与变量命名规则
- Matlab中计算程序运行时间的三种方法,以及获取系统时间的方法
- select option 不写 value 属性 产生的浏览器差异
- JavaScript正则表达式使用详解
- 小故事:在缺陷中发现长处
- Labview子VI的创建与调用
- python京东预约抢购流程_[Python] 京东秒杀商品抢购-茅台抢购自动获取抢购时间【修改】...
- ios 旋转屏幕试图切换_总结iOS App开发中控制屏幕旋转的几种方式
- python什么是接口设计_给女朋友讲什么叫接口设计!
- oracle 开启事务_javaSE第十四部分 JDBC(2)mysql事务和JDBC实现事务