sed的插入操作

简介: sed的插入操作

sed(流编辑器)是一个强大的文本处理工具,在Unix和类Unix系统中广泛用于对输入流(如文件或管道中的数据)进行逐行编辑。关于sed的插入操作,主要包括两种方式:

  1. 在特定行前插入文本
    使用i命令可以在指定行之前插入新的文本。格式如下:

    sed '行号i 新文本' 文件名
    

    例如,要在第2行前插入一行文本xxx

    sed '2i xxx' filename.txt
    

    这将会在原文件的第2行之前插入一行文本xxx

  2. 在特定行后插入文本
    使用a命令可以在指定行之后插入新的文本。格式如下:

    sed '行号a 新文本' 文件名
    

    同样,如果要在第2行后插入一行文本xxx

    sed '2a xxx' filename.txt
    

    这将在原文件的第2行之后插入一行文本xxx

如果你想要在一定范围内(比如从第2行到第3行)的所有行后面都插入文本,可以这样写:

sed '2,3a 新文本' filename.txt

如果需要直接修改原文件,而不是仅在屏幕上显示修改结果,可以加上 -i 选项以实现就地编辑:

sed -i '行号i 新文本' 文件名
sed -i '行号a 新文本' 文件名

这里的新文本不需要用反斜杠\来分隔,但若文本中有特殊字符或正则表达式元字符,可能需要转义它们以免被sed解析为特殊含义。此外,行号可以是具体的数字,也可以是一个模式(即与某行内容匹配的正则表达式)。

目录
相关文章
|
Shell Perl
用sed如果原字符串或新字符串中包含特殊字符(如正斜杠/或其他特殊字符),需要用\进行转义
用sed如果原字符串或新字符串中包含特殊字符(如正斜杠/或其他特殊字符),需要用\进行转义
1527 7
|
10月前
|
Linux
linux查看目录下的文件夹命令,find查找某个目录,但是不包括这个目录本身?
通过本文的介绍,您应该对如何在 Linux 系统中查看目录下的文件夹以及使用 `find` 命令查找特定目录内容并排除该目录本身有了清晰的理解。掌握这些命令和技巧,可以大大提高日常文件管理和查找操作的效率。 在实际应用中,灵活使用这些命令和参数,可以帮助您快速定位和管理文件和目录,满足各种复杂的文件系统操作需求。
975 8
|
10月前
|
机器学习/深度学习 人工智能 编解码
【AI系统】轻量级CNN模型新进展
本文继续探讨CNN模型的小型化,涵盖ESPNet、FBNet、EfficientNet和GhostNet系列。ESPNet系列通过高效空间金字塔卷积减少运算量;FBNet系列采用基于NAS的轻量化网络设计;EfficientNet系列通过复合缩放方法平衡网络深度、宽度和分辨率;GhostNet系列则通过Ghost模块生成更多特征图,减少计算成本。各系列均旨在提升模型效率和性能,适用于移动和边缘设备。
481 6
|
12月前
|
监控 jenkins 持续交付
Docker和Jenkins有什么不同
【10月更文挑战第18天】Docker和Jenkins有什么不同
|
Unix Linux Perl
sed删除指定行
sed删除指定行
1355 1
|
12月前
|
Ubuntu Linux C语言
Ubuntu安装笔记(二):ubuntu18.04编译安装opencv 3.4.0 opencv_contrib3.4.0
本文介绍了在Ubuntu 18.04系统上编译安装OpenCV 3.4.0及其扩展包opencv_contrib 3.4.0的详细步骤,包括下载源码、安装依赖、配置CMake和编译安装,以及常见问题的解决方法。
1154 1
Ubuntu安装笔记(二):ubuntu18.04编译安装opencv 3.4.0 opencv_contrib3.4.0
|
SQL 存储 关系型数据库
MySQL主从同步延迟原因与解决方法
MySQL主从同步延迟原因与解决方法
1367 0
|
Python
错误:/lib64/libc.so.6: version `GLIBC_2.14’ not found 解决办法
错误:/lib64/libc.so.6: version `GLIBC_2.14’ not found 解决办法
871 0
|
Python
Python中几种lambda排序方法
【9月更文挑战第7天】在Python中,`lambda`表达式常用于配合排序函数,实现灵活的数据排序。对于基本列表,可以直接使用`sorted()`进行升序或降序排序;处理复杂对象如字典列表时,通过`lambda`指定键值进行排序;同样地,`lambda`也适用于根据元组的不同位置元素来进行排序。
596 1
|
数据挖掘 Linux Perl
Linux命令join:高效处理文本数据的利器
`join`是Linux文本处理的强兵,用于基于共同字段合并两个已排序文件。它按字典序比较字段,支持自定义分隔符,且能处理未匹配行。`-a`显示未匹配行,`-e`指定空字段替换值,`-j`设置共同字段,`-o`定制输出格式,`-t`定义字段分隔符。在数据分析时,务必先排序文件,并根据需求调整参数。可与`sort`、`cut`等命令配合使用。