Bash脚本 - 如何在文本文件中匹配模式后将变量值插入新行,2行

时间:2018-01-28 13:06:44

标签: linux bash

我希望在匹配模式后将变量的值添加为新行,2行。以下是示例。

下面是在将变量值添加为新行之前的行内容,匹配模式后的第2行" FILTER datalist"

FILTER datalist

{

"DEBAU00_NFS_fmabackup_BBTFLRBAU01"

}

FILTER copylist

{

}

如果变量的值是Laptop,则下面是所需的结果。

FILTER datalist

{

"DEBAU00_NFS_fmabackup_BBTFLRBAU01"

Laptop

}

我在下面尝试过。

sed '/^FILTER datalist/{N;N;s/$/\Laptop/}' file_name

1 个答案:

答案 0 :(得分:0)

使用sed分支来实现您的目标。

$ cat casefile48486676
FILTER datalist

{

"DEBAU00_NFS_fmabackup_BBTFLRBAU01"

}

FILTER copylist

{

}
$ variable="Laptop\n\n" #bash variable
$ sed -E "/FILTER datalist/{:l1;/^}$/! {n;bl1};s/(^.*$)/$variable\1/}" casefile48486676

<强>输出

FILTER datalist

{

"DEBAU00_NFS_fmabackup_BBTFLRBAU01"

Laptop

}

FILTER copylist

{

}