Linux中sed命令的用法举例

本文详细介绍sed命令的基本语法、常用选项及实例应用,涵盖打印、替换、删除等功能,助您掌握Linux文本处理利器。

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

前言

sed - stream editor,流编辑器,用于对输入流(文件或来自管道的输入)执行基本文本转换,是Linux系统中最重要和最常用的命令之一。

基本语法

其基本语法如下:

$ sed [OPTION]... {script-only-if-no-other-script} [input-file]...

常用选项

选项说明
-n, --quiet, --silent静默模式, 只输出被 sed 处理过的行;
-e script, --expression=script指定命令用于执行, 可以使用多个 -e 执行多个命令
-f script-file, --file=script-file指定含有命令的脚本用于执行
-r, --regexp-extended让脚本支持拓展的正则表达式语法, 如 +, ?, |, ()
-i --in-place直接在指定的文件里修改编辑替换, 不在标准输出中输出任何内容

用法举例

打印
$ #打印最后一行
$ sed -n '$p' geekfile.txt
$ #打印指定范围行,如第1行到第3行
$ sed -n '1,3p' geekfile.txt
$ #打印从第2行开始到以test结尾的行之间的每一行
$ sed -n '2,/test$/p' geekfile.txt
替换
$ #替换行中第1次出现的pattern
$ sed 's/unix/linux/' geekfile.txt
$ #替换行中第n次出现的pattern
$ sed 's/unix/linux/2' geekfile.txt
$ #替换行中所有出现的pattern	
$ sed 's/unix/linux/g' geekfile.txt
$ #替换行中第n次及之后出现的所有pattern,如第三次及之后
$ sed 's/unix/linux/3g' geekfile.txt
$ # 替换指定行,如第三行
$ sed '3 s/unix/linux/' geekfile.txt
$ #替换指定范围的行,如1到3行
$ sed '1,3 s/unix/linux/' geekfile.txt
$ #替换指定范围的行,如第2行到最后一行,$表示最后一行
$ sed '2,$ s/unix/linux/' geekfile.txt
$ #只打印替换过的行
$ sed 's/unix/linux/p' geekfile.txt
删除
$ #删除第5行
$ sed '5d' filename.txt
$ #删除最后一行
$ sed '$d' filename.txt
$ #删除指定范围的行, 如第3行到第6行
$ sed '3,6d' filename.txt
$ #删除指定范围的行, 如第3行到最后一行
$ sed '3,$d' filename.txt
$ #删除pattern所匹配的行,如删除含有abc的行
$ sed '/abc/d' filename.txt

参考资料

sed-command-in-linux-unix-with-examples

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值