sed的替换操作

简介: sed的替换操作

sed(Stream Editor)在Linux和类Unix系统中是一种非常强大的流编辑器,用于对输入流(例如文件或管道输入)进行文本的逐行编辑。其替换操作主要通过s(substitute)命令实现。以下是s命令的基本结构和用法:

sed 's/原字符串/新字符串/选项'
  • s:表示替换(substitute)操作。

  • /原字符串/:这部分是要被替换的模式或者确切的字符串,可以包含正则表达式。

  • /新字符串/:这是替换原字符串后的新内容。

  • 选项

    • g:全局(global)替换,在一行中找到的所有匹配项都会被替换。
    • 如果不加g,则默认只会替换每一行中首次出现的匹配项。

举例说明:

  1. 将每一行中的old_text替换为new_text

    sed 's/old_text/new_text/g' input_file.txt
    
  2. 只替换每一行的第一个old_text

    sed 's/old_text/new_text/' input_file.txt
    
  3. 如果原字符串或新字符串中包含特殊字符(如正斜杠/或其他特殊字符),需要用\进行转义:

    sed 's/\./,/g' input_file.txt  # 将句点替换为逗号
    
  4. 使用地址范围限定替换操作的行范围:

    sed '5,10s/original/replacement/g' input_file.txt  # 只在第5至第10行之间替换
    
  5. 对于变量引用,如果你需要在命令中动态插入变量值,由于shell中单引号不会展开变量,所以应使用双引号:

    pattern="old_pattern"
    replacement="new_pattern"
    sed "s/$pattern/$replacement/g" input_file.txt
    

以上就是sed进行替换操作的基础用法,实际上sed的功能远不止于此,还可以结合其他命令和选项完成更复杂的文本处理任务。

目录
相关文章
|
人工智能 文字识别 计算机视觉
【AAAI 2024】M2Doc:文档版面分析的可插拔多模态融合方法
M2Doc是一种创新的多模态融合方法,设计用于增强文档版面分析任务中的纯视觉目标检测器。该方法包括Early-Fusion和Late-Fusion模块,前者通过门控机制融合视觉和文本特征,后者则在框级别合并这两种特征。M2Doc易于集成到各种目标检测器,实验证明它能显著提升DocLayNet和M6Doc数据集上的性能,特别是与DINO结合时,在多个数据集上达到SOTA结果。此外,研究表明M2Doc对于增强复杂逻辑版面分析任务中的文本理解和语义关联特别有效。
|
9月前
|
人工智能 数据处理 语音技术
Pipecat实战:5步快速构建语音与AI整合项目,创建你的第一个多模态语音 AI 助手
Pipecat 是一个开源的 Python 框架,专注于构建语音和多模态对话代理,支持与多种 AI 服务集成,提供实时处理能力,适用于语音助手、企业服务等场景。
455 23
Pipecat实战:5步快速构建语音与AI整合项目,创建你的第一个多模态语音 AI 助手
|
12月前
|
存储 编解码 网络协议
FFmpeg学习笔记(三):FFmpeg和FFplay参数介绍
这篇文章是关于FFmpeg和FFplay参数的介绍,包括如何使用这些参数进行视频流的捕获、处理和播放。
363 0
|
Linux Shell Perl
在Linux中,如何使用sed命令进行文本替换?
在Linux中,如何使用sed命令进行文本替换?
|
自然语言处理 搜索推荐 SEO
蓝易云 - 三分钟带你了解香港多ip站群服务器
注意事项:尽管多IP站群服务器有许多优点,但也需要注意遵守搜索引擎的规则,避免被认为是恶意SEO。
193 4
|
Linux Perl
用sed只替换每一行的第一个old_text
用sed只替换每一行的第一个old_text
185 2
|
Perl
awk打印表头
awk打印表头
215 2
|
存储 设计模式 缓存
缓解缓存击穿的大杀器之---singleflight深入浅出
缓解缓存击穿的大杀器之---singleflight深入浅出
793 0
缓解缓存击穿的大杀器之---singleflight深入浅出
|
编解码 Android开发 开发者
QT5.14.2 VS2022环境下FFmpeg与QT的完美邂逅
QT5.14.2 VS2022环境下FFmpeg与QT的完美邂逅
705 0
|
Web App开发 JSON Android开发
【Android App】实战项目之仿微信的视频通话(附源码和演示 超详细必看)
【Android App】实战项目之仿微信的视频通话(附源码和演示 超详细必看)
1079 2