繁体   English   中英

Bash脚本-如何在文本文件中匹配模式后在第二行插入变量值

[英]Bash script - how to insert value of variable as new line, 2 line after matching a pattern in text file

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

以下是将变量值添加为新行之前的行的内容,匹配模式“ FILTER datalist”之后的2行

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

结合使用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

{

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM