示例文件
# cat /tmp/file Line One Line Two Line Three Line Four Line Five
在文件的每一行末尾添加一个后缀
# sed -ne 's/$/:SUFFIX &/p' /tmp/file Line One :SUFFIX Line Two :SUFFIX Line Three :SUFFIX Line Four :SUFFIX Line Five :SUFFIX
在同一文件中进行更改
# sed -i 's/$/:SUFFIX &/' /tmp/file
使用单个命令同时添加前缀和后缀
这可以使用以下命令完成
# sed -e 's/.*/PREFIX: & :SUFFIX/' /tmp/file PREFIX: Line One :SUFFIX PREFIX: Line Two :SUFFIX PREFIX: Line Three :SUFFIX PREFIX: Line Four :SUFFIX PREFIX: Line Five :SUFFIX
在特定行添加前缀或者后缀
假设我们知道必须添加新内容的行号,则可以完成此操作
例如,我想在第 2 行添加此前缀和后缀
# sed -e 2's/$/:SUFFIX &/' /tmp/file Line One Line Two :SUFFIX Line Three Line Four Line Five
再次为前缀
# sed -e 2's/.*/PREFIX: &/' /tmp/file Line One PREFIX: Line Two Line Three Line Four Line Five
如果我们没有行号,而是有一个要匹配并执行此操作的模式名称,该怎么办
有两种方法可以做到这一点,这完全取决于要求。
1.可以获取具体的行号并执行操作
2.可以grep模式然后执行动作
例如:
我们可以使用以下命令获取行号
# grep -n "Line Three" /tmp/file | cut -d: -f -1 3
现在既然你知道你的文本在第 3 行,你现在可以使用 sed,如上所示
或者
我们可以简单地搜索模式并执行如下所示的操作
# sed -e 's/Line Three/PREFIX: &/' /tmp/file Line One Line Two PREFIX: Line Three Line Four Line Five
在同一文件中进行更改
# sed -i 's/Line Three/PREFIX: & :SUFFIX/' /tmp/file
在文件的每一行前面添加一个前缀
这里我们将在我的文件的每一行前面添加一个文本“PREFIX:”
# sed -ne 's/.*/PREFIX: &/p' /tmp/file PREFIX: Line One PREFIX: Line Two PREFIX: Line Three PREFIX: Line Four PREFIX: Line Five
在同一文件中进行更改
# sed -i 's/.*/PREFIX: &/' /tmp/file
日期:2020-06-02 22:17:22 来源:oir作者:oir