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. 远程拷贝文件 ...
随机推荐
- C#面向对象的三大基本特征
封装: 封装是指将数据与具体操作的实现代码放在某个对象内部,使这些代码的实现细节不被外界发现(可以使代码更加安全),外界只能通过接口使用该对象,而不能通过任何形式修改对象内部实现,正是由于封装机制,程 ...
- Delegate Func Action Predicate default() 知识点
看仓储模式,有代码写到这几个关键字,陌生,记录下来. 定义一个类型,此类型抽象化了相似结构的某一类方法,因此我们能将此类型代表的方法作为参数进行传递. Delegate至少0个参 ...
- CryptoJS导入sha加密包出现错误
Uncaught TypeError: Cannot read property 'extend' of undefined at sha224.js:12 at sha224.js:60 Uncau ...
- RDLC报表的相关技巧三(数量/金额的逐页累加)
数量/金额的逐页累加,不是当页小计. 核心步骤: 1.在Group1大组中加入小组Group2,2.Group2的组尾加入一个计算框 : =RunningValue(Fields!BaseAmount ...
- 分享VMware题目解答
VMnet1是主机模式.是一个Host-Only网络模式 192.168.1.254/24VMnet8是NAT模式.是一个NAT方式,最简单的组网方式VMnet6是手动设置的(主机.net.内部) 1 ...
- Windows下磁盘无损重新分配
打开百度(www.baidu.com),找到我们的分区助手.exe 单击“普通下载”,会下载一个安装包. 这时候,我们进行安装.安装完成如下. 对着那个盘容量较大的盘右键,分配空闲空间. 服务器多次重 ...
- java内存模型(jMM)(一)
在说java的内存模型之前先简单的了解计算机的主存和缓存的相关概念. 多任务和高并发是衡量一台计算机处理器的重要指标.一般衡量一个服务器性能的高低好坏,使用每秒事务处理数(Transactions P ...
- Squid代理服务器(四)——反向代理
一.概念 反向代理主要实现的是我们内部网站的加速功能 ,许多大型的门户网站架构中都采用了反向代理加速,使用比较多的是nginx.squid等,通过squid反向代理加速网站的访问速度,可将不同的url ...
- 在swift工程调用第三方库,Bridging导入头文件提示not found解决办法
swift语言简洁,上手之后感觉还不错,今天在使用swift调用cocoapods的AFNetworking时候总是提示“'AFNetworking/AFNetworking.h' file not ...
- 编程开发之--Java集合类继承与实现必备知识
1.LinkedHashSet有序链式集合 举例: long startTime=System.currentTimeMillis(); LinkedHashSet oprTypeSet = new ...