sed常用命令
sed也是一个管道命令。
sed [-nefr] [动作]
-n 加上-n参数后,只有经过sed特殊处理的那些行才会被列出来
-e 直接在命令行模式进行sed的动作编辑
-i 直接修改读取的文件内容,而不是由屏幕输出。
-f 直接将sed的动作写在一个文件内,-f filename则可以执行filename内的sed动作
-r sed的动作支持的是扩展型正则表达式的语法
动作说明:
[n1][,n2]function
n1,n2:不见得会存在,一般代表选择进行动作的行数
function的参数:
a: 新增,a的后面可以接字符串,这些字符串会出现在新一行。(目前行的下一行)
c: 替换,c的后面可以接字符串,这些字符串可以替换n1,n2之间的行
d: 删除
i: 插入,i的后面可以接字符串,这些字符串会出现在目前行的前一行
p: 打印,通常与sed -n一起使用
s: 可以部分替换,s动作可以搭配正则表达式。 如: 1,20s/old/new/g
以行为单位的新增/删除功能
nl /etc/passwd | sed '2,5d' 表示删除2~5行,本应该执行sed -e,但是没有-e也行。sed后的动作,必须用' '括起来。如果要删除第3到最后一行,则是 nl /etc/passwd | sed '3,$d',那个"$"代表最后一行
在第二行前增加行。
nl /etc/passwd | sed '2i drink tea?'
在第二行后增加行
nl /etc/passwd | sed '2a drink tea?'
以行为单位的替换与显示功能
nl /etc/passwd | sed '2,5c No 2~5 number'
nl /etc/passwd | sed -n '2,5p' 只显示2~5行
部分数据的查找并替换的功能
sed 's/要被替换的字符串/新的字符串/g',可以用空串替换用以删除
例如: /sbin/ifconfig wlan0 | grep 'inet addr'| sed 's/^.*addr://g'| sed 's/Bc.*//g' 可以提取出来ip地址
直接修改文件内容
将regular_express.txt内每一行结尾为'.'的换成'!'
sed -i 's/\.$/\!/g' regular_express.txt
sed常用命令的更多相关文章
- [转]sed常用命令总结
转自:http://blog.chinaunix.net/uid-26963748-id-3249732.html 一.Sed简介 Sed:Stream Editor 流式编辑器 又称行编辑器,每次 ...
- sed 常用命令 网址
https://wangchujiang.com/linux-command/c/sed.html https://linux.cn/article-11367-1.html https://juej ...
- 23、sed常用命令
1.匹配与不匹配: n p ! sed -n '/ATTGC/p' file1 ##-n打印匹配到的行输出,默认所有行输出. sed -n '/AT\|GC/p' fil ...
- akw、grep、sed常用命令
awk 求和 cat data|awk '{sum+=$1} END {print "Sum = ", sum}' 平均值 cat data|awk '{sum+=$1} END ...
- sed 常用命令
删除以ifeq开头的行 sed -i "/^ifeq/d" file 删除空行 sed -i '/^$/d' file
- grep,awk和sed的常用命令和语法
Grep的常用命令语法 1. 双引号引用和单引号引用在g r e p命令中输入字符串参数时,最好将其用双引号括起来.例如:“m y s t r i n g”.这样做有两个原因,一是以防被误解为 s h ...
- Linux常用命令之sed(2)
Sed SED的英文全称是 Stream EDitor,它是一个简单而强大的文本解析转换工具,在1973-1974年期间由贝尔实验室的Lee E. McMahon开发,今天,它已经运行在所有的主流操作 ...
- shell常用命令归类整理
shell 命令整理 bash shell 含有许多功能,因此有许多可用的命令:本文档仅罗列了一些常用命令及其使用频率较高的参数.#本文档仅罗列了一些常用命令及其使用频率较高的参数.#vers ...
- Liunx 常用命令
Liunx 常用命令================================================================================ 1. 远程拷贝文件 ...
随机推荐
- Java Input Stream Diagram
JAVA IO Diagram |-- ByteArrayInputStream |-- BufferedInputStream |-- FileInputStream |-- DataInputSt ...
- S.O.L.I.D原则
SILID原则: 是面向对象编程和设计的重要原则,在我们编程的过程中是谨记的重点,所以对其有深刻了解是必须的. < Clean Code(代码整洁之道)>作者Robert C. Mar ...
- value_counts()
Serise类型: Series.value_counts(normalize=False, sort=True, ascending=False, bins=None, dropna=True) 功 ...
- vue.js 知识点(四)
看完了vue.js的官方文档,大概对这些知识有了那么一点的了解了,但是很多具体的运用还不太清楚,现在就总结一下,关于其中的一些知识点的运用: v-bind: 动态绑定指令,默认情况下,是给html ...
- [Swift]队列Queue的两种版本:(1)用类包装Queue (2)用泛型包装Queue
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表.进行插入操作的端称为队尾,进行删除操作的 ...
- 案例1-合并2个不同文件夹中的csv文件到另外一个目录,相同的文件名进行数据合并,不同的文件名直接移到新文件夹
发现在ubuntu和centos中有些命令还不一样,比如<<<可在centos中使用,但是ubuntu中不行 csv文件名以及格式如下 3669_20180121.csv 总笔数,2 ...
- JavaScript Debug 之 Console
简评:只知道 console.log ?是时候提升一下对 console 的认知了. JavaScript console 是现代浏览器的一种内置功能,它允许开发者: 查看网页上的错误和警告日志. 使 ...
- docker搭建elk+cerebro环境
ELK的帮助手册 Docker Hub官网:https://hub.docker.com/r/sebp/elk/ Docker ELK使用文档:http://elk-docker.readthedoc ...
- 使用canvas实现画中画效果的H5
最近看到一个挺有趣的H5,主要效果就是通过不断的放缩来展示画中画,网上找了一下并没有这方面的实现代码,故决定原创一下,并分享出来 主要的思路就是通过canvas不断的写入图片,考虑到每一层的图片的位置 ...
- jvm内存分部
首先我们必须要知道的是 Java 是跨平台的.java常用的名词有jdk,jre,jvm jdk包括后两者,是开发者工具集, jre表示java运行环境, jvm是java虚拟机,是java夸平台的保 ...