首页 帮助中心 美国云服务器 Linux sed命令从简单到复杂的用法
Linux sed命令从简单到复杂的用法
时间 : 2025-02-17 11:41:28 编辑 : 华纳云 阅读量 : 106

Linux sed是流编辑器能够编辑来自文件和标准输入的文本,非交互式编辑工具sed可以执行逐行更改。用户在调用命令时指定每个编辑选项,sed会自动执行命令。这种文本转换方法非常有效和快速,在脚本和自动化流程中经常使用。下面是为大家分享的Linux sed的常用语法和基本操作希望对大家有所帮助。

Linux sed命令主要语法为:

sed OPTIONS... [SCRIPT] [INPUTFILE...]

sed常见命令行选项如下!

二进制/b:使用二进制模式访问输入文件,把换行符看作行结尾。

调试:用调试模式以正确格式打印输入和评论程序的运行方式。

跟随符号链接:如果提供文件表示符号链接,可以修改最终目标。I是其运行所必须的。

帮助:是指定使用详情。

i/in place [=后缀] :是通过覆盖最初创建文件来进行适当编辑。

posix:是为了更方便移植脚本,需要禁用全部 POSIX sed扩展。

版本:是给出系统上活动sed版本的列表。

E/r/regexp extended:是使用扩展的正则表达式。

e脚本/expression=脚本:是与命令一起运行,需要添加特定脚本。

f脚本文件:是指定一个脚本文件并将其内容添加到命令行。

l N/ line length=N :是与I命令的换行长度关联的默认值是70,需要提供不同长度。

N/quiet/silent:取消输出打印功能。

单独/s:单独查看特定文件而不是将其作为长串连续数据查看。

沙盒:禁用运行外部程序和单独使用命令行处理输入文件。

U/无缓冲:减少输入和输出缓冲区。

z/null 数据/zero 终止 :把输入看成多行集合,每行都用零字节终止。

使用sed命令替换字符串:

sed 's/old_string/new_string/' filename.txt

应该更改 old_string 和 new_string 以反映需要在其位置使用的新文本。

把bin替换为box:

sed 's/box/bin/' foxinbox.txt

默认情况下,sed 会替换每行中目标字符串的第一个实例。它会逐行查找并替换第一个匹配项,然后继续处理下一行。如果一行中有多个匹配项(例如“box”),sed 只会替换第一个。若要替换一行中所有匹配项,需要添加g标志。

如想替换文本中出现特定字符串:

sed 's/old_string/new_string/g' filename.txt

如果想要在文件 foxinbox.txt 中用短语 bin 一致替换术语 box,请采用以下格式:

sed 's/box/bin/g' foxinbox.txt

 sed 程序可以选择要在每一行中替换的给定字符串的实例。添加带有数字的标志(如 1、2 等)即可实现此目的:

sed 's/old_string/new_string/#' filename.txt

使用以下语法仅打印在指定情况下具有替换的行:

sed -n 's/old_string/new_string/p' filename.txt

华纳云 推荐文章
怎么使用linux命令备份文件夹 linux命令行显示乱码如何解决?
活动
客服咨询
7*24小时技术支持
技术支持
渠道支持