shell常用命令-sed详解

本文深入讲解sed编辑器的功能与使用,sed是一个强大的流编辑器,用于处理文本文件,支持替换、删除、新增、选取等操作。文章详细介绍了sed的命令行格式、常用选项与命令,并提供了多个实例演示如何应用sed进行文本处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。

2.具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也 称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到 屏幕上。sed每处理完一行就将其从临时缓冲区删除,然后将下一行读入,进行处理和显示。处理完输入文件的最后一行后,sed便结束运行。sed把每一行都存在临时缓冲区中,对这个副本进行编辑,所以不会修改原文件

3.sed命令行格式为:sed [常用选项] ‘常用命令’ 输入文本

4.常用选项

-n:使用安静(silent)模式。在一般sed的用法中,所有来自stdin的资料一般都会被打印到屏幕上,但如果加上-n参数后,则只有经过sed特殊处理的那一行(或者动作)才会被打印出来。

-e:直接在指令模式上进行sed的动作编辑

-f: 直接将sed的动作写在一个档案内,-f filename则可直接执行filename内的sed动作

-r: sed的动作支援的事延伸型正则表达式的语法。(预设是基础正则表达式语法)

-i: 直接修改读取的档案内容,而不是由屏幕输出

5.常用命令:

a:新增,a的后面可以接字符串,而这些字符串会在新的一行出现(目前的下一行)

c:取代,c的后面可以接字符串,这些字符串可以取代n1,n2之间的行

d:删除,因为是删除,所以d后面通常不会接任何字符

i: 插入,i的后面可以接字符串,而这些字符串会在新的一行出现(目前的上一行)

p:打印,也即将某个选择的资料打印出来。通常p会与参数sed -n一起运作

s:取代,可以直接进行取代的工作。通常这个s的动作可以搭配正则表达式

6.示例:

sed -n '10p' data.csv 输出第十行文件内容

sed -n '99990,100000 p' data.csv 输出99990到100000行文件内容

sed -n '99990,$ p' data.csv 输出99990行到文件末尾内容

sed -n '/xiaoming0/,/xiaoming10/ p' data.csv 输出包括xiaoming0到xiaoming10之间的内容

sed -n '/^ xiaoming p/' data.csv ^表示文件开头

sed '/xiaoming/!p' data.csv 显示不含有xiaoming的行

sed -n '/[^ xiaoming]/p' data.csv 效果同上

sed '/^$/p' data.csv 匹配文件空行

sed '$a insert one line data' data.csv 将字符串『insert one line data』插入文件尾部

sed -i 's/\t,/g' data.csv 将文件中的『\t』字符全部替换成字符『,』

sed '10 d' data.csv 删除文件第十行

sed '10,$ d' data.csv 删除文件从第十行到末尾的所有行
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值