我想改变:
inlet
{
type patch;
...
}
outlet
{
type patch;
}
到
inlet
{
type wall;
...
}
outlet
{
type patch;
}
我尝试使用 inlet*{ 和 } 提供范围,与 sed -i .bak 's/[img:.*]/[img]/g' file.txt 此链接一致(在两个模式之间替换多个惰性字符串sed),他们使用方括号。但是使用 {,} 的范围不起作用
此解决方案是否合适将取决于您的实际数据,但根据您的示例,一种潜在的选择是使用 awk 并更改记录分隔符:
cat test.txt
inlet
{
type patch;
...
}
outlet
{
type patch;
}
awk 'BEGIN{RS="^[[:alpha:]]"} /inlet/ {sub("patch", "wall", $0); print} !/inlet/' test.txt
inlet
{
type wall;
...
}
outlet
{
type patch;
}