【Linux】文本替换Ubuntu 中 sed 指令的使用指南


没什么 大愿望
没有什么事 要赶
看见路口红灯 一直闪
它像 眨眼的小太阳
乌云还 挺大胆
顶在头上 吹不散
我抓在手里 捏成棉花糖
什么烦恼 不能忘
既然 是路一定有转弯
哪个风景 都漂亮
                      周深《小美满》


在 Ubuntu(或其他类 Unix/Linux 系统)中,sed 是一种强大的文本处理工具,用于对文本进行替换、删除、插入等操作。本指南将介绍 sed 指令的基本用法以及一些常见的应用场景。

基本语法

sed 的基本语法如下

sed OPTIONS 'COMMAND' FILE

其中,OPTIONS 是一些选项,例如 -i 表示直接修改文件而不是打印到标准输出;‘COMMAND’ 是对文本进行操作的命令;FILE 是要处理的文件。

替换文本

sed 's/old_text/new_text/g' filename

此命令将文件中的所有 old_text 替换为 new_text。

删除行

sed '/pattern/d' filename

此命令将删除包含匹配 pattern 的行。

插入文本

sed '1i\inserted_text' filename

此命令将在文件的第一行之前插入 inserted_text。

打印指定行

sed -n '5p' filename

此命令将打印文件中的第五行。

其他常用操作

多个操作组合:可以使用分号 ; 将多个 sed 命令组合起来,依次执行。
使用正则表达式:sed 支持正则表达式,可以更灵活地匹配和操作文本。

sed -i 's/old_text/new_text/g' filename
sed -i 's/old_text/new_text/g' directory/* 替换目录下所有文件

示例

假设有一个名为 example.txt 的文件,内容如下:

Hello, world!
This is a test.

要将其中的 world 替换为 everyone 并打印结果,可以执行以下命令:

sed 's/world/everyone/g' example.txt

执行结果:

Hello, everyone!
This is a test.

结束语

sed 是一个非常强大的文本处理工具,能够在命令行下快速、灵活地处理文本文件。熟练掌握 sed 的使用方法,可以提高文本处理效率,为日常工作带来很大便利。

你可能感兴趣的:(Linux,linux,ubuntu,运维)