linux - sed - 使用命令行追加到下一行

标签 linux command-line sed append

每当我在文本文件中遇到“=”时,我希望将“dddd” append 到下一行。

这个命令

sed -i '/=/s|$|滴滴|' *.krn

接近我正在寻找的内容,因为它 append 到“=”所在的当前行。我怎样才能 append 到下一行?

最佳答案

使用追加,看这里:

例如:

$ echo $'abc\ndef\ne=f\nqqq'
abc
def
e=f
qqq
$ echo $'abc\ndef\ne=f\nqqq'|sed '/=/adddd'
abc
def
e=f
dddd
qqq

根据 @je4d 的评论进行编辑以澄清 - 如果您想 append 到下一行中的内容,您可以使用此:

$ echo $'abc\ndef\ne=f\nqqq\nyyy'
abc
def
e=f
qqq
yyy
$ echo $'abc\ndef\ne=f\nqqq\nyyy'|sed '/=/{n;s/$/ dddd/}'
abc
def
e=f
qqq dddd
yyy

如果需要,请参阅此处的 sed 备忘单以获取更多信息:

关于linux - sed - 使用命令行追加到下一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9752021/

相关文章:

regex - (Sed) 涉及负数的搜索/替换会产生额外字符

sed - 如何使用sed替换多行

java - GUI javafx 应用程序无法通过 Linux 中的服务打开

c++ - OpenCV 尝试将 ARtoolkit 与 OpenCV 集成

java - 抓取或知道 jar 中发生错误?

macos - 我可以使用哪些方法从 OS X Lion 的命令行 growl ?

swift - 如何清除 Swift 中的终端屏幕?

linux - sed中 'Hold space'和 'Pattern space'的概念

linux - 绑定(bind)到快捷键的 xdotool 命令不起作用

linux - 在centos 7上安装phpmyadmin的问题