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解析为特殊含义。此外,行号可以是具体的数字,也可以是一个模式(即与某行内容匹配的正则表达式)。

目录
相关文章
|
5天前
|
Unix Linux Perl
sed的删除操作
sed的删除操作
47 4
|
5天前
|
Unix Linux Perl
sed删除指定行
sed删除指定行
35 1
|
5天前
|
Unix Shell Linux
sed的替换操作
sed的替换操作
21 3
|
9月前
|
Shell
Shell 删除多余重复的字符(tr -s)
Shell 删除多余重复的字符(tr -s)
109 0
|
11月前
|
Perl
sed(按行操作)文本过滤
sed(按行操作)文本过滤
|
关系型数据库 MySQL 索引
Mysql中REPLACE INTO用法,判断数据是否存在,如果不存在,则插入,如果存在,则先删除此行数据,然后插入新的数据...
Mysql中REPLACE INTO用法,判断数据是否存在,如果不存在,则插入,如果存在,则先删除此行数据,然后插入新的数据...
175 0
|
Perl
Sed 删除包含某些字符串的行
sed -i '/关键字符/d' 文件名
1757 0
|
数据安全/隐私保护
VI操作--跳到最后一行和跳到最后一行的最后一个字符
vi操作 1.跳到文本的最后一行:按“G”,即“shift+g” 2.跳到最后一行的最后一个字符 : 先重复1的操作即按“G”,之后按“$”键,即“shift+4”。 3.跳到第一行的第一个字符:先按两次“g”, 4.跳转到当前行的第一个字符:在当前行按“0”。
5229 0