我知道这个问题How to find patterns across multiple lines using grep? 但我认为我的问题更复杂。所以我需要帮助。
我有一个字典BCFile
文件
boundary
{
inlet
{
type fixedValue;
value uniform (5 0 0);
}
outlet
{
type inletOutlet;
inletValue $internalField;
value $internalField;
}
....
}
我正在编写一个脚本,以便打印出inlet
边界条件fixedValue
和outlet
边界条件inletOutlet
。
如果我使用cat BCFile | grep "type" | awk '{printf $2}' | tr -d ";"
,它将不起作用,因为关键字type
多次出现。
如果我使用awk -v RS='}' '/inlet/ { print $4 }' BCFile
,它也不起作用,因为关键字inlet
也出现了很多次。
我需要一种方法来查找首先搜索关键字inlet
然后搜索最接近 {
的和}
.
有谁知道如何巧妙地做到这一点?