基础指南:利用Sed Stream编辑器在Linux中处理文本

【linux】sed命令详解 sed(stream editor)是一个非交互性文本流编辑器。它编辑文件或标准输入导出的文本拷贝。标准输入可能是来自键盘、文件重定向、字符串或变量,或者是一个管道的文本。 阅读详情

提供:ZStack云计算

系列教程

本教程为Sed使用指南系列两篇中的第一篇。

内容介绍

Sed stream编辑器是一款文本编辑器,能够对来自标准输入或文件的信息者编辑操作。Sed以非交互方式对内容逐行编辑。

这意味着大家能够通过调用命令做出编辑决定,而sed则能够自动加以执行。虽然这一机制不太直观且较难理解,但却是一种非常强大且快速的文本转换方式。

本教程将介绍多种基本操作,同时介绍与编辑器操作相关的必要语法。 Sed的作用并非替代常规文本编辑器,但大家应当将其作为一款卓越的文本编辑工具。

基本使用方式

总体而言,sed负责对读取自标准输入或文件的文本流进行操作。

意味着大家可以将其它命令的输出结果直接发送至sed进行编辑,或者利用它处理已经创建完成的文件。

需要强调的是,sed在默认条件下以标准方式进行输出。这意味着除非重新定义,否则sed将始终将结果输出至屏幕上,而非将其保存为文件。

其基本使用方式为:

sed [options] commands [file-to-edit]

为了进行编辑练习,这里我们将把部分文件复制至主目录当中。

cd
cp /usr/share/common-licenses/BSD .
cp /usr/share/common-licenses/GPL-3 .

我们使用sed查看这里复制完成的BSD许可文件。

由于sed会将其结果默认输出至屏幕,因此我们可以直接利用它(不加任何编辑命令)作为文件阅读器:

sed '' BSD

Copyright (c) The Regents of the University of California.
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
...
...

这一效果是因为我们在sed编辑命令中使用了单引号。由于未填写任何其它内容,因此其直接输出来自标准输出结果中的每行内容。

下面来看如何利用sed中的“cat”命令利用标准输入内容实现同样的结果。

cat BSD | sed ''

Copyright (c) The Regents of the University of California.
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
. . .
. . .

如大家所见,我们可以轻松操作文件或者文本流(使用‘|’字符)。

输出行

在上一实例中,我们看到可以在不加任何操作的前提下,将输入结果发送至sed以直接输出标准结果。

下面我们了解sed的“print”命令,其在单引号内使用“p”字符。

sed 'p' BSD

Copyright (c) The Regents of the University of California.
Copyright (c) The Regents of the University of California.
All rights reserved.
All rights reserved.

Redistribution and use in source and binary forms, with or without
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
modification, are permitted provided that the following conditions
are met:
are met:
. . .
. . .

可以看到,sed将其中的每行内容输出了两次。这是因为其会自动输出每一行,而我们使用“p”命令则会再次执行print操作。

如上所示,sed首先输出两次第一行内容,再显示两次第二行内容。这意味着它接收一行,执行输出操作,且在重复下一行操作之前确保显示全部结果。

我们可以在sed中使用“-n”选项,其能够关闭自动输出功能:

sed -n 'p' BSD

Copyright (c) The Regents of the University of California.
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
. . .
. . .

现在我们再次实现每次输出一行的效果。

地址范围

说到这里,我们还没有提到什么与编辑相关的功能。接下来,我们来了解如何利用sed输出第一行以修改输出结果。

sed -n '1p' BSD

Copyright (c) The Regents of the University of California.By placing the number "1" before the print command, we have told sed the line number to operate on. We can just as easily print five lines (don't forget the "-n").

sed -n '1,5p' BSD

Copyright (c) The Regents of the University of California.
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions

我们为sed提供了地址范围。如果我们向sed提供一条地址,则其只会在对应行处执行命令。在本示例中,我们要求sed输出第1到第5行。我们还可以使用其它指定方式,即首先提供地址,而后使用偏移告知sed处理哪些额外行:

sed -n '1,+4p' BSD

这条命令会给出同样的输出结果,因为我们告知sed从第1行开始,而后输出接下来4行。

如果我们希望进行隔行输出,则可在“~”字符后指定具体间隔。以下命令将自第1行开始,输出隔行内容:

sed -n '1~2p' BSD

Copyright (c) The Regents of the University of California.

modification, are permitted provided that the following conditions
1. Redistributions of source code must retain the above copyright
2. Redistributions in binary form must reproduce the above copyright
documentation and/or other materials provided with the distribution.
may be used to endorse or promote products derived from this software
. . .
. . .

删除文本

只需将之前提到的“p”命令改为“d”命令,即可轻松实现删除操作。

在删除命令中不需要使用“-n”命令,sed将输出一切未被删除的结果。

只要对上一节中使用的命令稍加修改,即可实现隔行内容删除。

sed '1~2d' BSD

All rights reserved.
Redistribution and use in source and binary forms, with or without
are met:
notice, this list of conditions and the following disclaimer.
notice, this list of conditions and the following disclaimer in the
3. Neither the name of the University nor the names of its contributors
without specific prior written permission.
. . .
. . .

需要注意的是,我们的源文件其实并未受到影响。该文件仍然完好无损,命令只编辑输出结果。

如果我们希望保存编辑结果,则可通过以下命令将标准输出结果重新定向至文件:

sed '1~2d' BSD > everyother.txt

如果我们利用cat命令打开文件,我们将看到与之前相同的输出结果。Sed在默认情况下不会编辑源文件内容。

我们可以添加“-i”选项变更这一操作方式,意味着对文件内容进行实际修改。

下面尝试编辑刚刚创建完成的“everyother.txt”文件,具体操作为删除文件中的隔行内容:

sed -i '1~2d' everyother.txt

再次使用cat命令,则可看到文件内容已经发生了变化。

如上的,“-i”选项可能非常危险!幸运的是,sed能够在编辑之前创建备份文件。

要在编辑前创建备份文件,直接在“-i”选项后添加备份后缀:

sed -i.bak '1~2d' everyother.txt

这条命令将创建一个“.bak”后缀备份文件,而后再对本体文件进行编辑。

替换文本

也许最为知名的sed使用方式就是替换文本。Sed能够利用正则表达式搜索文本模式,而后对原始内容进行替换。

推荐大家参阅正则表达式说明。

作为最简单的格式,大家可以利用以下语法将某一单词替换为另一单词:

's/old_word/new_word/'

其中的“s”代表substitute命令。三个斜杠(/)用于划分不同文本字段。大家也可以使用其它字符实现字段分隔。

例如,如果我们打算变更某一网站名称,则须多使用一个分隔符——因为URL本身亦包含斜杠。我们将使用echo命令:

echo "http://www.example.com/index.html" | sed 's_com/index_org/home_'

http://www.example.org/home.html

别忘记最后一个分隔符,否则sed会出现错误。

echo "http://www.example.com/index.html" | sed 's_com/index_org/home'

sed: -e expression #1, char 22: unterminated `s' command

下面创建一个文件以进行内容替换:

echo "this is the song that never ends
yes, it goes on and on, my friend
some people started singing it
not knowing what it was
and they'll continue singing it forever
just because..." > annoying.txt

现在让我们利用“forward”替换“on”。

sed 's/on/forward/' annoying.txt

this is the sforwardg that never ends
yes, it goes forward and on, my friend
some people started singing it
not knowing what it was
and they'll cforwardtinue singing it forever
just because...

这里有几点需要强调。首先,我们替换的是模式,而非单词。即将“song”中的“on”替换为“forward”。

另外需要注意的是第2行,第二个“on”并未被替换为“forward”。

这是因为在默认情况下,“s”命令只会匹配每行中的第一项模式,而后即前往下一行。

为了让sed正确替换每一行中的“on”,我们可以在substitute命令中使用一条可选标记。

在这里,我们在命令末尾使用“g”标记。

sed 's/on/forward/g' annoying.txt

this is the sforwardg that never ends
yes, it goes forward and forward, my friend
some people started singing it
not knowing what it was
and they'll cforwardtinue singing it forever
just because...

现在substitute命令会变更每项实例。

如果我们只希望对每行中的第二个“on”实例做出变更,那么我们可以使用“2”来替换“g”。

sed 's/on/forward/2' annoying.txt

this is the song that never ends
yes, it goes on and forward, my friend
some people started singing it
not knowing what it was
and they'll continue singing it forever
just because...

如果我们只希望查看被替换的行,则可使用“-n”选项。

接下来,我们可以在substitute命令中使用“p”标记以输出替换行。

sed -n 's/on/forward/2p' annoying.text

yes, it goes on and forward, my friend

如大家所见,我们可以在命令末尾结合更多标记。

如果大家希望在搜索中忽略操作,则可添加“i”标记。

sed 's/SINGING/saying/i' annoying.txt

this is the song that never ends
yes, it goes on and on, my friend
some people started saying it
not knowing what it was
and they'll continue saying it forever
just because...
引用匹配的文本

如果我们希望利用正则表达式找出更为复杂的模式,我们可以通过多种方式从替换文本内引用匹配的文本。

例如,如果我们希望匹配从每行开头到“at”部分的内容,则可使用以下表达式:

sed 's/^.*at/REPLACED/' annoying.txt

REPLACED never ends
yes, it goes on and on, my friend
some people started singing it
REPLACED it was
and they'll continue singing it forever
just because...

可以看到,通配符表达式匹配到从每行开头到最后一个“at”的位置。

由于大家并不了解搜索字符串内所匹配的确切短语,因此可以使用“&”字符来代表所匹配文本。

以下示例展示了如何为所匹配文本部分添加括号:

sed 's/^.*at/(&)/' annoying.txt

(this is the song that) never ends
yes, it goes on and on, my friend
some people started singing it
(not knowing what) it was
and they'll continue singing it forever
just because...

我们还可以选择另一种更为灵活的匹配文本引用方式,即使用反斜杠加括号。

每一组由括号标记的搜索文本组都可利用反斜杠数字进行引用。例如,第一个括号组可以“\1”进行引用,第二组则为“\2”,以此类推。

在本示例中,我们将切换每行的前两个单词:

sed 's/\([a-zA-Z0-9][a-zA-Z0-9]*\) \([a-zA-Z0-9][a-zA-Z0-9]*\)/\2 \1/' annoying.txt

is this the song that never ends
yes, goes it on and on, my friend
people some started singing it
knowing not what it was
they and'll continue singing it forever
because just...

如大家所见,结果并不理想。例如,第二行直接路过了第一个单词,因为其中包含未被字符集列出的字符。同样,其在第五行中将“they’ll”当成了第二个单词。

下面对正则表达式的准确性进行调整:

sed 's/\([^ ][^ ]*\) \([^ ][^ ]*\)/\2 \1/' annoying.txt

is this the song that never ends
it yes, goes on and on, my friend
people some started singing it
knowing not what it was
they'll and continue singing it forever
because... just

这一次结果就好多了,标点与单词得到正确关联。

请注意,我们在标点当中重复了表达式(一次不加‘’字符,下一次加‘’字符)。这是因为“*”字符能够对它之前的字符集进行零次或多次匹配。

这意味着如果找不到模式,则与通配符相匹配的内容会被视为“匹配”。

为了确保至少找到一项模式,我们应当首先不使用通配符进行一次匹配,而后再加入通配符。

总结

到这里,我们已经对sed的基本使用方法以及如何快速调整sed命令进行了了解。

在下一篇文章中,我们将探讨sed中的更多高级功能。

本文来源自DigitalOcean Community。英文原文:The Basics of Using the Sed Stream Editor to Manipulate Text in Linux By Justin Ellingwood

翻译:diradw

中级sed实战:Linux文本流水线的核心能力解析 sed(Stream Editor)是Linux系统中专为文本流处理设计的轻量级编辑器,其核心原理在于基于模式空间的单行/多行流式处理,不加载全文、不维护上下文、不解析结构,仅通过地址范围、替换标志、保持空间等机制实现高效变形。这种‘无状态流水线’特性赋予它在日志清洗、配置批量修改、安全审计等场景中不可替代的技术价值——尤其在Kubernetes YAML处理、Nginx配置运维、Kali渗透测试等高频工程实践中,sed常与grep、awk协同构成文本处理黄金三角。本文聚焦GNU sed与BSD sed的兼 阅读详情

相关推荐

sed详细使用说明(中文)权威

sed大家都很耳熟吧,下载了进一步熟悉并使用,你会发现更多的用途和方法!

sed 流编辑命令

sed '1,2d'hosts 「 删除第一行第二行 & 原文件不变」 sed -i '1,2d’hosts -i 保存源文件 s/old/new/g 替换符 d 删除符 /{key}/i{string}「行前插入」 /{key}/a{tring}「行后插入」 /{key}/c{tring}「行替换」 sed '$d' hosts 「 删除最后一行 」 sed 's/local/LOCAL/g' hosts 「local 替换成...

wenhuangwei的博客 350

使用GDScript(godot)生成仿杀戮尖塔地图

使用GDScript(godot)生成仿杀戮尖塔地图 extends Node2D export (PackedScene) var Ball var 被连接数 = {} # 每个怪物被下层怪物连接的数量 最多为2 var 连接1 = {} # 第一次连接的上层怪物位置 var 连接2 = {} # 第二次连接的上层怪物位置 var 怪物数量 = [0,0,0,0,0,0,0,0,0,0,0,0,0,0] # 每层怪物的数量 var 总层数 =8 # 总层数 var 怪物坐标行 = {} #

weixin_45038716的博客 3012

sed 行处理命令

sed '1,2d'hosts 「 删除第一行第二行 & 原文件不变」 sed -i '1,2d’hosts -i 保存 s/old/new/g 替换 d 删除 /{key}/i{string}「行前插入」 /{key}/a{tring}「行后插入」 /{key}/c{tring}「行替换」 -n /{key}/p「只打印匹配行 」 sed '$d' hosts 「 删除最后一行...

wenhuangwei的博客 642

华硕ROG玩家国度安装Ubuntu双系统避坑指南:安全启动密钥那些事儿

本文详细解析了在华硕ROG玩家国度设备上安装Ubuntu双系统时,如何正确处理BIOS中的安全启动(Secure Boot)与密钥管理,避免常见的引导失败和Windows系统无法启动问题。指南提供了从数据备份、启动盘制作到BIOS精细设置(如将OS Type改为Other OS而非简单关闭Secure Boot)以及分区规划的完整流程,确保两个系统都能稳定共存。

weixin_29219189的博客 755

Android 自动亮度

/则需要从BrightnessConfigure类中读取两个数组源:config_autoBrightnessLevels和config_autoBrightnessDisplayValuesNits。) 或知道其在DisplayPowerController()构造的时候初始化的。曲线设置好了,就应该扔代码里跑起来,模型建起来了,这个过程是咋样的呢?//它将负责曲线的创建,自动背光值的计算等。通过搜索配置关键词(

Android 1487

sed 的基本使用【详图】

sed 的基本使用【图解】 1.sed介绍 ​ sed 在处理文本时是逐行读取文件内容,读到匹配的行就根据指令做操作,不匹配就跳过。 sed 的使用方法,调用 sed 命令的语法有两种: 在命令行指定 sed 指令对文本进行处理:sed+选项'指令'文件 先将 sed 指令保存到文件中,将该文件作为参数进行调用, sed+选项 -f 包含sed指令的文件 文件 sed的常用选项: 选项 含义 -e 它告诉sed将下一个参数解释为一个sed指令,只有当命令行上给出多个sed指令

a1158321146的博客 2万+

ESP32-C3入门教程 基础篇⑩——SNTP(Simple Network Time Protocol) 网络时间同步的简单实例

ESP32-C3入门教程 基础篇⑩——SNTP(Simple Network Time Protocol) 网络时间同步的简单实例

1589

sed 简易使用指南

sed编辑器称为流编辑器(),会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流。sed编辑器根据命令来处理数据流中的数据,这些命令要么从命令行输入,要么存储在命令文本文件中sed编辑器会执行下列操作:1.一次从输入中读取一行数据2.根据所提供的编辑器命令匹配数据3.按照命令修改流中的数据4.将新的数据输出到STDOUT语法SYNOPSIS常用选项(OPTION选项说明-n只输出匹配行-i直接修改文件内容(谨慎使用)-r支持扩展正则表达式-e执行多条sed命令分号隔开-f。

u010230019的博客 1114

R语言广义加型模型(GAM)的运用例子及实现教程

一旦拟合了广义加型模型,我们可以查看模型摘要和诊断,以评估模型的质量和拟合情况。# 查看模型摘要响应变量:mpg(汽车的燃油效率)拟合函数:mpg ~ s(hp) + s(wt)

Mrrunsen的博客 3447

【100%通过率】2023华为od机试C卷【电脑病毒感染】Python 实现

一个局域网内有很多台电脑,分别标注为 0 ~ N-1 的数字。相连接的电脑距离不一样,所以感染时间不一样,感染时间用t 表示。其中网络内一台电脑被病毒感染,求其感染网络内所有的电脑最少需要多长时间。如果最后有电脑不会感染,则返回-1.

MISAYAONE的博客 3033

sed流文本编辑器!一个linux下高效率处理文本的强大工具

本文介绍了sed流文本编辑器的参数选项和命令,包括常用选项和常用命令。通过学习这些内容,大家可以更好地理解和使用sed工具来处理文本数据。在实际工作中,可以根据需要灵活运用这些选项和命令,实现对文本的各种操作。一键三连拜谢!

乔木的博客 740

华为OD机试双机位A卷 - VLAN资源池 (C++ & Python & JAVA & JS & GO)

华为OD机试2025双机位A卷 VLAN资源池,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解

qq_45776114的博客 879

sed——Stream Editor流编辑器

想象一下,你正在整理一堆杂乱的文件,手忙脚乱地复制、粘贴、删除某些内容,甚至还要批量替换某些词。如果手动操作,不仅容易出错,还特别浪费时间。这时候,sed就像一位低调但高效的文本编辑助手,帮你自动完成这些繁琐的任务。它不会像图形化工具那样花哨,但只要你告诉它规则,比如“把所有的‘苹果’换成‘橙子’”或者“删除空行”,它就能眨眼间搞定。它的风格简洁直接,擅长处理一行一行的文本,就像流水线上的工人,精准又高效。

qq_55656748的博客 990

Livox激光雷达传感器在Python3中的完整驱动程序:深入剖析OpenPyLivox库的实现和应用

当我们提到激光雷达或激光扫描技术时,Livox激光雷达传感器无疑是业界的佼佼者。尽管Livox提供了基于C++的官方软件和API,但现在,有了OpenPyLivox (OPL) 库,Python开发者们也能够轻松地接入和控制这些高级的激光雷达设备。

qq_38334677的博客 1002

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

linux sed: 无法打开临时文件_学习使用 Sed 文本编辑器 | Linux 中国

Sed 缺少通常的文本框,而是按照用户的命令直接写入到文件上。来源:https://linux.cn/article-12992-1.html作者:Seth Kenlon译者:Xingyu.Wang(本文字数:5301,阅读时长大约:7 分钟)sed 命令是为 AT&T 最初的 Unix 操作系统第 7 版创建的,此后,可能每一个 Unix 和 Linux 操作系统都包含了它。sed 应用...

weixin_39939510的博客 2097

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

文本三剑客之sed(Stream EDitor)

Linux 中,常使用流编辑器 sed 进行文本替换工作。与常使用的交互式编辑器(如vim)不同, sed 编辑器以批处理的方式来编辑文件,这比交互式编辑器快得多,可以快速完成对数据的编辑修 改。sed 编辑器会执行以下操作:1. 一次从输入中读取一行数据;2. 根据所提供的编辑器命令匹配数据;3. 按照命令修改流中的数据;4. 将新的数据输出到 STDOUT。在 sed 编辑器匹配完一行数据后,它会读取下一行数据并重复这个过程,直到处理完所有数据。使用 sed 命令打开一个 sed 编辑器。

2301_78349092的博客 1414

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

linux 文本编辑器_学习使用 Sed 文本编辑器 | Linux 中国

Sed 缺少通常的文本框,而是按照用户的命令直接写入到文件上。• 来源:linux.cn • 作者:Seth Kenlon • 译者:Xingyu.Wang •(本文字数:5301,阅读时长大约:7 分钟)sed 命令是为 AT&T 最初的 Unix 操作系统第 7 版创建的,此后,可能每一个 Unix 和 Linux 操作系统都包含了它。sed 应用程序是一个 流编辑器,与文本编辑器不同...

weixin_31000553的博客 255

Linux Basic - sed Stream EDitor流编辑器,sed简介、sed基本用法、sed高级用法、sed地址定界、sed示例、

文章目录简单介绍特性介绍man sed 之 常用选项介绍1. 用法:2. 常用 OPTION3.编辑命令零地址命令零地址 或 一地址 命令--sed '/^UUID/a \#Hello,World' /etc/fstaba 命令添加多行--sed '/^UUID/a \#Hello,World\n\#This is sed test.' /etc/fstabi 命令添加一行--sed "/^UUI...

HuangFei 379

Sed 命令深度解析:Linux 文本处理的利刃

Sed(Stream Editor)是一种流编辑器,它可以对输入流(文件或管道)进行基本的文本转换。Sed 处理时,把当前处理的行存储在一个临时缓冲区中,称为“模式空间”(pattern space),继而应用相关编辑命令于模式空间中,处理完成后输出到标准输出。

AI 爪客,专注 AI 智能体与 Skill 研发落地,斩获腾讯云、讯飞、小米等多场 AI 赛事奖项,分享 Agent 实战干货与工程化经验。 718

Stream Editor 流编辑器命令

流编辑器 流可以想象为流水,源源不断。而流编辑,则表示在流动过程中动态地进行编辑。这种编辑方式意味着不用等到一切加载结束才进行处理,来之安之,关注当下。类似的如流媒体处理方式,使得用户可以边下边播,看点算点。 流编辑器命令 LINUX 下有很多工具命令,一旦用过便会喜欢上。这些命令特别简洁,但这种简洁也意味着初次相见时的可读性差,由此认真地熟悉下用法非常有必要。一旦熟悉了,就掌握了一把利器,需要时可是看得见的效率。 命令 sed 就是这样一个工具。sed 是 Stream Editor 的简写,它一次处理一

三角室专栏 405

关于sed(stream editor)流编辑器的一些简单用法

一、sed基本用法简介。 sed(stream editor)流编辑器是一个非常强大的linux文本处理命令,今天我们就来讲一讲它的一些基本用法吧! 首先,sed是一个行处理模式的编辑器,默认是不编辑源文件的,仅对模式空间中的文本进行处理。 1.startline, endline 例如: sed -n ‘1,10p’ /etc/passwd 就是打印出/etc/passwd中前10行。 注意...

fengxiandmw的博客 374

linux下sed i命令作用(转载)

sed是一种流编编器,stream edit 它是文本处理中非常中的工具,能够完美的配合正则表达式便用,功物能不同凡响。 处理时,把当前处理的行存储在临时缓冲区(内存)中,称为”模式空间”( pattern space),接看用sed命令处理缓冲区中的内容,处理成后,把缓冲区的内容送往屏幕显示。 接着理下一行,这样不断重复,直到文件末。可使用了写入的命令,将内容更新。 定位行地址用于决定对哪...

zy103118的博客 1万+

linux sed命令详解,sed命令详解

sed命令:Stream EDitor, 行编辑器sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。se...

weixin_32304077的博客 3094

Linux文本处理利器:sed命令详解与实战技巧

文本处理是Linux系统管理和Shell编程中的基础技能,其中流编辑器sed凭借其高效的命令行处理能力成为核心工具之一。其工作原理是通过逐行读取输入流,应用预设的编辑指令实现非交互式文本转换,特别适合自动化脚本和大文件处理。作为与grep、awk齐名的Unix三剑客,sed在日志分析、配置修改等场景展现巨大技术价值,例如使用`s命令`进行全局替换可快速完成数百个配置文件的批量更新,结合正则表达式还能实现复杂模式匹配。掌握sed不仅能提升日常运维效率,更是Shell脚本编程的重要技能,其与find等命令的组合

weixin_30435261的博客 454
上一篇: 如何配置一项在崩溃或重启后自动启用的Linux服务——第二部分:参考
下一篇: 云栖大会:ZStack联手阿里云为用户带来无缝的混合云体验
普通网友
博客等级 码龄10年 769粉丝 269原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值