可以从CLI中的文件中的特定行插入字符串吗?


2

该文件包含以下内容:

[Greet]

Hello
Hi
Hola

我想添加一个被调用的字符串,Hey以便它的位置在Hello

[Greet]

Hello
Hey
Hi
Hola

有没有办法通过echo命令行使用或其他本机linux工具来完成上述操作?

Answers:


3

使用sed

由于sed插入或追加行的命令需要换行,因此最简单的方法是将sed命令放在文件中并告诉sed它执行该文件。

示例:要Hey在(每个)之后插入Hello,请创建以下文件:

/Hello/a\
Hey

然后调用sed

sed -f appendheyafterhello.sed < sourcefile > resultfile

以下是更多sed命令,包括如何模式之前或在特定行号处插入行。


0

这是一些perl解决方案:

perl -p -i -e 'print "Hey\n" if /Hi/'  filename

要么

perl -p -i -e 'print "Hey\n" if $. == 4'  filename

要么

perl -n -i -e 'print; print "Hey\n" if /Hello/' filename
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.