Linux Bash:如果匹配条件

时间:2017-06-16 00:02:08

标签: linux bash

我有一个包含一些行的文件。

如果它包含一些关键词,我想为这些行添加前缀。

我该怎么做?谢谢!

示例

我想将"###"添加到行首的“Hello”行:

目前此文件包含:

This is the beginning.
Hello I am Simon.
This is a simple line;
Hello Mike.
This is another line.

我想将此文件更改为:

This is the beginning.
###Hello I am Simon.
This is a simple line;
###Hello Mike.
This is another line.

2 个答案:

答案 0 :(得分:5)

sed程序会为你做这件事。对于您发布的示例:

$ sed 's/^Hello/###Hello/' <file>

答案 1 :(得分:2)

awk解决方案是:

awk '{if($1=="Hello"){print "###"$0 ; } else {print $0}}' <file>

但我认为对于这种情况,sed是更好的方法。