我希望在匹配模式后将变量的值添加为新行,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
答案 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
{
}