linux命令之sed

简介: linux命令之sed

在Linux系统中,sed(Stream Editor)是一个强大的流编辑器,用于对输入流(如文件或管道中的数据)进行各种文本转换。它逐行读取输入,并根据提供的脚本命令执行相应的操作,然后将结果输出到标准输出(默认行为),或者重定向到其他文件。以下是一些关于sed命令的基本用法和常见选项:

基本命令格式:

sed [选项] '命令' 输入文件

例如:

sed 's/old/new/g' file.txt

这个命令会在file.txt文件中全局地将old替换为new

常用选项:

  • -n--quiet--silent:不自动打印模式空间的内容,只有当使用了p命令时才打印匹配的行。

  • -i:直接修改原文件内容,而不是仅显示修改后的结果。

  • -e:允许在同一命令行中指定多个编辑命令。

  • -f scriptfile:从指定文件中读取编辑命令。

常见命令:

  • s/pattern/replacement/flags:替换命令,查找pattern并替换为replacement,可选的flags包括g(全局替换)、i(忽略大小写匹配)等。

  • a\ text:在当前行后追加文本text。

  • i\ text:在当前行前插入文本text。

  • d:删除模式空间中的行(即删除匹配的行)。

  • p:打印模式空间中的行。

  • w file:将模式空间中的行写入到file文件中。

  • r file:读取file文件的内容并将其插入到当前行之后。

示例:

# 将所有包含"example"的行替换为"test"
sed 's/example/test/g' input.txt

# 在每一行后面添加一个换行符和"haha"
sed 'G' input.txt

# 静默处理文件并在匹配"start"的行后插入一行文本
sed -n '/start/{a \\\nnewline content\\n}; p' input.txt

# 直接修改文件,将"old"替换为"new"
sed -i 's/old/new/g' file.txt

sed的强大之处在于可以编写复杂的正则表达式来匹配和替换文本,并且可以编写多条命令串联起来处理流中的数据,非常适合于批处理文本任务。

目录
相关文章
|
7天前
|
Web App开发 Linux 网络安全
工作中常用到的Linux命令
工作中常用到的Linux命令
|
7天前
|
Web App开发 Java Linux
Linux之Shell基本命令篇
Linux之Shell基本命令篇
Linux之Shell基本命令篇
|
14天前
|
Ubuntu 架构师 Java
Linux系统常用命令非常详细建议收藏
Linux系统常用命令非常详细建议收藏
46 0
|
4天前
|
NoSQL Linux Shell
常用的 Linux 命令
常用的 Linux 命令
25 9
|
19小时前
|
Linux Go
Linux命令Top 100驱动人生! 面试必备
探索Linux命令不再迷茫!本文分10部分详解20个基础命令,带你由浅入深掌握文件、目录管理和文本处理。 [1]: <https://cloud.tencent.com/developer/article/2396114> [2]: <https://pan.quark.cn/s/865a0bbd5720> [3]: <https://yv4kfv1n3j.feishu.cn/docx/MRyxdaqz8ow5RjxyL1ucrvOYnnH>
8 0
|
3天前
|
缓存 运维 监控
Linux系统监控利器:探索常用命令及数据保存技巧
Linux系统监控利器:探索常用命令及数据保存技巧
23 4
Linux系统监控利器:探索常用命令及数据保存技巧
|
6天前
|
Linux 索引
linux 文件查找 和文件管理常用命令
linux 文件查找 和文件管理常用命令
16 0
|
6天前
|
安全 Unix Linux
一、linux 常用命令之 linux版本信息 系统管理与设置 持续更新******
一、linux 常用命令之 linux版本信息 系统管理与设置 持续更新******
13 0
|
8天前
|
Prometheus 监控 Cloud Native
【Linux】查看系统内存命令(详细讲解)
【Linux】查看系统内存命令(详细讲解)
|
8天前
|
监控 Linux